Commit graph

5661 commits

Author SHA1 Message Date
OBattler
0e8348f0e2 Fixed the red and blue swap in screenshots. 2021-09-14 21:24:12 +02:00
OBattler
bb4590a738 Added the Multitech PC-500, closes #1275. 2021-09-14 15:45:23 +02:00
OBattler
fa960bec55 Changed the F82C425's colors so that the darker ones are more blue, like on the real V86P. 2021-09-14 15:35:40 +02:00
OBattler
d438be30d4 Merge branch 'master' of https://github.com/86Box/86Box 2021-09-14 15:33:18 +02:00
OBattler
c0d296d53a Rewrote the V86P's I/O chip and fixed its UART IRQ assignments, fixes serial mouse, closes #1678. 2021-09-14 15:33:06 +02:00
Miran Grča
a6ecd34af6
Merge pull request #1689 from ts-korhonen/master
Make OpenGL 3.3 renderer use only one memcpy
2021-09-14 15:25:14 +02:00
ts-korhonen
bce7c07880 Make OpenGL 3.3 renderer use only one memcpy 2021-09-14 08:56:26 +03:00
OBattler
a68b738308 Improved it a bit. 2021-09-14 02:33:52 +02:00
OBattler
3cd6518f11 Fixed it again. 2021-09-14 02:29:34 +02:00
OBattler
49b508caab And another fix. 2021-09-14 02:23:54 +02:00
OBattler
be22d67ed6 And another fix, to not break interlaced modes. 2021-09-14 02:17:57 +02:00
OBattler
b8bc115c7f Fixed said implementation. 2021-09-14 02:14:42 +02:00
OBattler
411a64553d Implemented S3 Cursor Right Addressing. 2021-09-14 02:08:11 +02:00
OBattler
f27fec1740 Removed EGA/(S)VGA render wake-up on zero-sized blit and fixed the last compile-breaking mistake in the Unix SDL code. 2021-09-13 23:28:00 +02:00
OBattler
96faa28eeb Removed the useless y1 and y2 parameters from the renderers' blit functions (and other places). 2021-09-13 23:19:10 +02:00
OBattler
7473a1c4b9 Fixed the OpenGL 3.3 renderer. 2021-09-13 21:28:44 +02:00
OBattler
13dc05cfd2 Removed the useless double-buffering in video/video.c, improves performance and reduces RAM usage. 2021-09-13 21:02:15 +02:00
OBattler
7163f3a4c1 Merge branch 'master' of https://github.com/86Box/86Box 2021-09-13 21:01:39 +02:00
Miran Grča
bc3e24dac0
Merge pull request #1686 from 86Box/tc1995
S3 changes part 3:
2021-09-11 22:20:13 +02:00
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