Commit Graph

5805 Commits

Author SHA1 Message Date
TC1995
04e48a071e S3 changes part 3:
Added the Phoenix S3 Vision968 (IBM RGB) and the MiroCRYSTAL 20SD VLB (864, SDAC) (alongside their BIOSes).
Added the vendor specific bits of CRTC5c used by the MiroVIDEO 40SV Ergo (968), Phoenix 868 and Phoenix 968.
Restored FIFO in the pre-964 cards, but without threading (Warning, code might be bloated for this).
Fixed horizontal issue with the SPEA Mercury P64V (968).
2021-09-11 22:02:31 +02:00
Miran Grča
84db99f4ef Merge pull request #1684 from Cacodemon345/patch-10
Include SDL.h before anything else
2021-09-11 20:44:06 +02:00
Miran Grča
43c285ccf4 Merge pull request #1685 from Cacodemon345/patch-11
unix_sdl.c: Add resizable window support
2021-09-11 18:41:20 +02:00
OBattler
273ba9562b Merge branch 'master' of https://github.com/86Box/86Box 2021-09-11 04:17:00 +02:00
OBattler
916b66e305 Removed the unused "table array" from fdd_86f.c. 2021-09-11 04:16:39 +02:00
David Hrdlička
2e58958f38 mark us as win10 compatible 2021-09-10 20:31:04 +02:00
Cacodemon345
2092f1dceb Update unix_sdl.c 2021-09-10 18:01:21 +06:00
Cacodemon345
8b316f869b Include SDL.h before anything else
This also cleans up the unnecessary source-level defines
2021-09-09 23:51:26 +06:00
Miran Grča
b90bbcb062 Merge pull request #1679 from Cacodemon345/patch-9
unix.c: Add help command to monitor
2021-09-08 19:09:04 +02:00
Miran Grča
6a9598c06a Merge pull request #1681 from 86Box/tc1995
Corrected SUBSYS information of the Velocity 100, now it displays fine.
2021-09-08 19:08:47 +02:00
TC1995
bae38e23a7 Corrected SUBSYS information of the Velocity 100, now it displays fine. 2021-09-08 18:40:37 +02:00
Cacodemon345
5d1e026f7d Add help command
This commit also adds PrintScreen key mapping.
2021-09-08 13:49:04 +06:00
OBattler
2ad7b7c345 Fixed the C&T 82C100 hardware EMS implementation and increased the V86P's maximum RAM to 1 MB. 2021-09-08 01:49:31 +02:00
OBattler
e9615fc167 Added support for JVERNET's V86P ROM's, and fixed the bugs reported by lemondrops. 2021-09-07 23:57:26 +02:00
OBattler
0c4003caa3 Added the C&T 82C100 chipset needed by the Victor V86P. 2021-09-07 23:41:17 +02:00
Miran Grča
c107fde4e5 Merge pull request #1675 from lkundrak/lr/victor-v86p
Victor V86P Emulation
2021-09-07 22:17:49 +02:00
Miran Grča
839e4cf43a Merge pull request #1672 from Cacodemon345/patch-6
Redirect fopen64 functions to fopen for non-Linux Unix systems
2021-09-07 22:03:06 +02:00
Miran Grča
67695fe204 Merge pull request #1673 from Cacodemon345/patch-7
Fix NULL access crashes on ALSA MIDI close
2021-09-07 22:02:55 +02:00
Miran Grča
33365a9c2b Merge pull request #1674 from Cacodemon345/patch-8
Fix monitor argument count
2021-09-07 22:02:45 +02:00
Cacodemon345
e082658d9d Fix monitor argument count 2021-09-08 01:44:30 +06:00
Lubomir Rintel
f482ad54f6 Add the Victor V86P Machine
This is a portable computer based around 80C86 processor and Chips &
Technologies chip set. It features a 640x200 monochromatic LCD display,
and up to two 720k 3.25" floppy drives.

It can optionally contain a hard drive controller along with 20M 3.25" MFM
hard drive in place of one floppy drives, which is not emulated yet.
Also not emulated is the expanded memory over 640K.

At least two versions of BIOS have been seen in the wild -- one from
89/09/04 another from 09/12/20.

The MD5 checksums of the ROM images (a pair of chips for each BIOS versions
and a character ROM) are as follows:

  SHA1(ce39ab220de25bbd824dbd5c7411c88f3a8d7430) =
  roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Even.rom

  SHA1(9b374cf5aa48186577293c3a83250cdc1aed7c9a) =
  roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Odd.rom

  SHA1(57015c8b85aecb10890d4ddd4a0d133e1ba4ca49) =
  roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_122089_Even.rom

  SHA1(1d3217e9fde7410167cd462ad82b360bf546b9d0) =
  roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_122089_Odd.rom

  SHA1(59ff86fcfea479b02075c32da12c6c1579d71df5) =
  roms/machines/v86p/v86pfont.rom
2021-09-07 21:34:18 +02:00
Lubomir Rintel
a05f5d493f Add Chips & Technologies 82C425 CGA LCD/CRT controller emulation
The 82C425 is a CGA-compatible display controller chip. On top of being
able to drive a regular CRT display like an ordinary CGA card, it can
be configured to drive a monochrome 640x200 LCD panel instead.

The chip along with a LCD panel are notably used in the Victor V86P
laptop comupter.

When driving a monochrome LCD, the controller is able to employ some clever
tricks to compensate for he lack of color: by alternately turning dots on
and off with various duty cycles it can achieve displaying 4 or 8 shades
of gray. It can also enhance contrast between the text glyphs and their
background when it's less than the configured minimum (with "SMARTMAP"
algorithm).

The emulation is fairly complete. The 320x200 graphical mode uses 4 gray
shades along with stretching the pixels horziontally much like the real
hardware would. SMARTMAP is implemented for text mode and also matches
the real hardware pretty closely.

The missing bits are:

 * Configurable blink rates
 * Mapping the character map into host address space

The code is based on the T1000 display controller emulation and
still bears strong resemblance to it.
2021-09-07 21:34:18 +02:00
Lubomir Rintel
ad5e0943f1 Add Chips & Technologies 82C606 Super I/O emulation
This adds support for Chips & Technologies 82C606 CHIPSpak Multifunction
Controller emulation. It is similar enough to 82C710 that supporting the
82C606 is merely a matter of adding a variant to the existing code.

The 82C606 is notably used in the Victor V86P portable computer.

Compared to 82C710, the 82C606 provides neither floppy nor IDE hard
driver support. On the other hand it provides a RTC with non-volatile
CMOS RAM and a Game Port. The base addresses and interrupt lines of the
peripherals are configurable.
2021-09-07 21:34:18 +02:00
Lubomir Rintel
d152e92648 Don't raise the UART interrupts if no IRQ is configured
The 82C606 SuperIO allows reconfiguring the interrupt line used for the
UART alarm at runtime, including disabling it altogether.

While at that, correct the type in the serial_setup() prototype to be
the same as serial_t.irq uses.
2021-09-07 21:34:18 +02:00
Lubomir Rintel
e641e81de7 Add possibility to change the RTC interrupt line
The 82C606 SuperIO allows reconfiguring the interrupt line used for the
RTC alarm at runtime.
2021-09-07 21:34:18 +02:00
Cacodemon345
eea72da77b Fix NULL access crashes on ALSA MIDI close 2021-09-07 23:30:44 +06:00
Cacodemon345
d232ce99fe Redirect fopen64 functions to fopen for non-Linux Unix systems 2021-09-07 16:24:50 +06:00
Miran Grča
81051f33e0 Merge pull request #1670 from 86Box/tc1995
My dword/byte mode fix doesn't apply to the Trio64V+ and up (Trio64V2…
2021-09-06 22:22:54 +02:00
TC1995
293cb6a3cf My dword/byte mode fix doesn't apply to the Trio64V+ and up (Trio64V2/DX). 2021-09-06 22:11:09 +02:00
Miran Grča
4585224b25 Merge pull request #1668 from Cacodemon345/patch-5
Add Windows key mappings to Unix backend
2021-09-06 20:40:47 +02:00
Cacodemon345
e8f8b74d61 Add Windows key mappings 2021-09-06 22:06:02 +06:00
OBattler
680f0e2294 Fixed Hercules overscan in graphics mode, fixes #1666. 2021-09-06 13:48:07 +02:00
Miran Grča
b77033bc19 Merge pull request #1667 from 86Box/tc1995
Added a force byte mode variable to prevent dword mode from operating…
2021-09-06 13:44:22 +02:00
TC1995
4f5a78a8b9 Added a force byte mode variable to prevent dword mode from operating due to glitches in the S3 acceleration using said mode. 2021-09-06 13:03:50 +02:00
Miran Grča
9035dbcdf5 Merge pull request #1657 from dob205/master
cpu_tables.c: Adding new variants for the AMD K6 (Model 6) processor
2021-09-06 00:11:47 +02:00
OBattler
4bf3c88a26 Reverted the peformance "improving" CPU change. 2021-09-05 23:59:52 +02:00
Miran Grča
ca4f66c7a9 Merge pull request #1664 from 86Box/tc1995
Fix 3 for the dword mode for duke3d/lxpic/standard and miro drivers f…
2021-09-05 23:50:18 +02:00
OBattler
5aeed6439a Merge branch 'master' of https://github.com/86Box/86Box 2021-09-05 23:21:10 +02:00
OBattler
ead818c5bd Disabled 286/386 prefetch queue timings emulation on 486+, improves performance. 2021-09-05 23:20:58 +02:00
TC1995
b9cdf0521f Fix 3 for the dword mode for duke3d/lxpic/standard and miro drivers for win3.1 (I swear).
Re-added the byte swap bit in pix trans write word mode that was accidentally removed, fixes buttons in pifedit using the 968 in Win3.1.
2021-09-05 23:17:38 +02:00
Ompronce
2971f374a2 Merge branch '86Box:master' into master 2021-09-05 16:19:59 -04:00
Miran Grča
0de3c10341 Merge pull request #1661 from 86Box/tc1995
Fix the dword mode fix in the S3 code.
2021-09-05 20:31:03 +02:00
OBattler
6536a04590 Implemented Hercules overscan, closes #1638. 2021-09-05 20:30:43 +02:00
TC1995
e37f477ebf S3 dword mode:
CRTC14 bit 6 (standard dword mode) has the highest priority over CRTC31 bit 3 (S3 dword mode), so if the latter is enabled while the former is disabled, it's byte mode. Fixes both Duke3D, LXPIC and Win3.1 running at the same time (once and for all).
2021-09-05 19:53:03 +02:00
TC1995
1c634759c5 Fix the dword mode fix in the S3 code. 2021-09-05 19:25:16 +02:00
OBattler
b834365f30 Fixed CRTC register readout on the Hercules, fixes #1656. 2021-09-05 19:03:32 +02:00
Ompronce
0ac279ba0c Merge branch '86Box:master' into master 2021-09-05 12:34:53 -04:00
Miran Grča
16c7b632b6 Merge pull request #1660 from 86Box/tc1995
S3 changes/improvements:
2021-09-05 18:19:16 +02:00
TC1995
0ae17cbb3e S3 changes/improvements:
Overhauled the read portion of the PIX TRANS command (fixes white corruption in some instances while keeping everything already working fine).
Fixed Miro 10SD recalctimings issue about losing graphics mode.
DWORD mode SVGA CRTC bit fixed when S3 DWORD mode bit is enabled.
2021-09-05 18:10:54 +02:00
OBattler
9803ef828a Gave sound/snd_audiopci.c a header. 2021-09-05 17:47:08 +02:00