Commit Graph

1279 Commits

Author SHA1 Message Date
OBattler
5318bc08d8 The FDC is now a device_t, and the FDC code has been cleaned up;
Merged floppy.c and fdd.c and renamed floppy_*.c (the floppy image format handlers) to fdd_*.c;
Reading the AT or PS/2 keyboard controller status no longer clears the transmit timeout bit, fixes error 8601 (mouse error) on the IBM PS/2 Model 80;
MMU translate and DMA physical reads and writes now go through _mem_exec instead of directly to ram[], should fix the last remaining problems with remapped mappings;
Implemented the Sound gain dialog;
Added the resource for the "New floppy image" dialog and the needed functions for the functionality of exporting the currently mounted floppy image as 86F, both of which should be finished in the next commit;
Applied the CD-ROM fixes from the PCem commit;
Added the "Keep ratio" option for full screen stretch.
2018-01-17 18:43:36 +01:00
OBattler
845c8ed4bd Improved passing of scan codes to the emulated keyboards;
Fixed Sound Blaster 16 and earlier CD-ROM volume registers (and made them no longer default to 0);
Serial mouse now resets the FIFO before sending the ID, fixes mouse detection after clipping and moving the mouse;
Rewritten CD-ROM and SCSI disk Mode Select handling and changed things regarding Mode Sense as well, also fixes emulator segmentation faults when anything attempts to do a Mode Select;
Fixed the Microsoft InPort mouse emulation (used the Bochs code as reference for the polling/state update code), now it actually moves;
The PCjr initialization now sets the XT scan code table, makes the keyboard actually work on the PCjr again;
Several bugfixes regarding the Read CD commands, fixes CD Audio in digital mode on Windows ME;
Finally properly fixed the regular CD Audio MSF/LBA conversion mess;
Applied all applicable PCem commits.
2018-01-13 22:56:13 +01:00
OBattler
b4aff71a6b Fixed keyboard/mouse disable handling, fixes moving the PS/2 mouse in the P55T2S BIOS' CMOS Setup;
The "Write data to mouse" command no longer times out when there is PS/2 mouse, and instead adds the 0xFF byte to the queue, properly fixes the hang when entering into the P55T2S BIOS' CMOS Setup with mouse set to anything other than PS/2;
Removed the incorrect implementation of the OPTi 495 register 0x27 bit 7, it had nothing to do with A20, and the A20 stuck error was caused by the previously incorrect implementation of the 8042 output port bit pulse commands which is no longer the case;
The 8042 now once again correctly initializes with A20 Gate on.
2018-01-08 05:46:52 +01:00
OBattler
32bc2a02b3 Disabling the PS/2 mouse via the KBC command byte now also disables the "Write to mouse output buffer" and "Write to mouse" commands, fixes hang when entering CMOS Setup on the P55T2S;
Unified the various machines' identical port 92h implementations.
2018-01-07 20:36:30 +01:00
OBattler
519ab94945 The Quadtel variant of the 8042 (used by the Amstrad MegaPC) is now correctly PS/2 type. 2018-01-04 07:56:37 +01:00
OBattler
ea0b9c6b38 Added missing includes to m_at_4gpv31.c, should fix compiling of the Dev build. 2018-01-04 07:48:43 +01:00
OBattler
1d4fed2110 Improved 8042 (AT and PS/2 keyboard controller emulation), no more hacks, split into various devices depending on vendor (generic, AMI, IBM (MCA), Quadtel, Toshiba), and fixed several commands - hopefully fixes all existing AT+ keyboard problems (such as incorrect scan codes on some machine under some circumstances);
Fixed a bug in the SMC FDC37C932 emulation, fixes the FDC on the two Acer machines;
Re-added some Acer-specific I/O port handlers, fixes entry into CMOS Setup on the two Acer machines.
2018-01-04 07:44:33 +01:00
OBattler
9b2705eb9f Inverted the operation of the OPTi 495 A20 control bit and made the AT keyboard controller (8042) as well as memory default to A20 off - makes both the MR 386 DX and the Award 386 and 486 clones work correctly;
The Amstrad MegaPC now correctly initializes the internal Paradise WD90C11 graphics card, making the machine work again.
2018-01-04 01:57:55 +01:00
OBattler
412ae3726b Implemented the OPTi 495 A20 state switch (register 0x27 bit 7), fixes the A20 gate stuck error. 2018-01-02 21:35:25 +01:00
OBattler
b7501e3b5f Fixed the last compile-breaking mistakes. 2018-01-01 03:40:59 +01:00
OBattler
23c536f5dd Split off the AMD SYSCALL and SYSRET instructions to x86_ops_amd.h;
Moved the two 440FX board along with the Pentium Pro and Pentium II CPU's to the Dev branch;
Applied the PCem commit that fixed PIIX IDE Bus Master initialization.
2018-01-01 02:57:39 +01:00
OBattler
a8be9c22e9 Moved the Compaq Deskpro 386 to the Dev branch. 2017-12-31 21:59:27 +01:00
OBattler
d9e7f0c4fc Renamed the Paradise WD90C11 Standalone to Paradise WD90C11-LR and made it use the correct BIOS;
Added the Paradise PVGA1A (standalone) and the Paradise WD90C30-LR, both with configurable video memory;
Added the Toshiba T3100e.
2017-12-31 06:37:19 +01:00
OBattler
8a9204aa1f Moved the Compaq Portable III and Portable III 386 to the Dev branch;
Added both variants of the Compaq CGA, based on John Elliott's PCem patch;
The Compaq Portable is no longer set to a fixed graphics card.
2017-12-29 03:01:19 +01:00
OBattler
1acde00754 Reverted the NCR 53C810 to non-threaded code (but still cleaned it up), a bit slower but at least it works with everything that has been tested;
Moved the Green B 486 machine to the Dev branch.
2017-12-25 17:57:05 +01:00
OBattler
0a11a6d3b4 Added a second set of physical address byte read and write functions in mem.c that are now used by dma.c so that DMA reads and writes do not go through the CPU's paging mechanism anymore - fixes Adaptec and BusLogic SCSI drivers in NT 3.1;
Applied some more of greatpsycho's CPU patches;
Reworked the PS/2 Model 80 split memory block handling and removed the top 256k remap from it (that's what the split memory block is for) - fixes OS/2 2.x on that machine.
2017-12-11 19:41:58 +01:00
OBattler
f050810e2f Added the NCR 53C810 PCI SCSI controller;
Fixed the behavior of the CD-ROM GET CONFIGURATION command when unimplemented features are requested;
Fixed the behavior of the CD-ROM READ DVD STRUCTURE command in some situations and made it correctly report 05/30/02 for incompatible format;
Reworked the PS/2 Model 80 Type 2 memory handling a bit;
The emulator now allocates the few MB of space needed for pages for the entire 4 GB RAM space at the startup and only memset's it to 0 on hard reset - should make sure DMA page reads from/writes to memory-mapped devices no longer crash the emulator on invalidating the memory range;
Applied app applicable PCem patches;
The PS/1 Model 2133 now also applies PS/2-style NMI mask handling - fixes the 486 recompiler on this machine;
Added the missing #include of "cpu/cpu.h" in io.c, fixes compiling when I/O tracing is enabled.
2017-12-10 15:16:24 +01:00
waltje
d52846d3be Mouse changes - mice are now regular devices with config options. 2017-12-10 02:09:06 -05:00
OBattler
772955bf59 The PS/2 Model 80 memory expansion board initialization now correctly sets up the RAM mappings;
The per-device log functions now all call pclog().
2017-12-05 23:35:35 +01:00
waltje
5f8900e3cd Updated machine defs in machine_table.c and added notes. 2017-12-05 17:24:59 -05:00
OBattler
3e43348730 PS/2 Model 80-486 no longer initializes the memory expansion board. 2017-12-05 22:58:34 +01:00
OBattler
55d2e3c9a7 The AT keyboard controller now recognizes the Green-B as an AMI BIOS board, should handle the AMI-specific keyboard controller commands correctly now;
Fixed (S)VGA sense handling - fixes error 2401 on PS/2's;
Fixed the IBM XT Model 286 NVR flags.
2017-12-05 18:34:09 +01:00
waltje
af08e251d3 Whoops. Pushed the old file. 2017-12-04 18:01:16 -05:00
waltje
90c13dd25f Added new machine (4GPV31) 2017-12-04 14:50:58 -05:00
OBattler
ae66b3f124 The Windows absolute path checker now considers the forward slash as well;
Applied all applicable PCem commits;
The PS/1 and PS/2 machines now have the correct graphics cards - fixes the reference diskettes;
The open dialog code now changes directory to usr_path after the dialog is closed;
Disabled excess logging in the TI SVGA code.
2017-12-04 20:35:05 +01:00
waltje
fc34a6eaf3 Re-worked mouse code to be devices (to allow for configuration.)
Re-worked the system pathnames (pc.c), renamed cfg_path to usr_path.
Other small things here and there.
Logitech bus mouse re-worked, should be OK now.
2017-12-04 12:01:56 -05:00
waltje
ce1bab2967 Cleanups to make all logging functions use stdlog instead of stdout.
The new --logfile (-L) commandline option sets a file to log to.
The new --debug (-D) forces output to stderr if no logfile is given.
2017-11-24 02:24:06 -05:00
TC1995
016b0f8bdf Added Compaq-specific registers to the Olivetti M24 video emulation for compatibility with the Compaq Portable III, III/386 and Deskpro 386. 2017-11-23 11:11:27 +01:00
OBattler
248d8c2604 Fixed the NVR close mess - all machines now work again. 2017-11-22 19:18:41 +01:00
OBattler
e0030bc93c The Compaq Portable III and III/386 now have the Olivetti M24 display adapter (though pending implementation of Compaq-specific registers);
Bugfixes in config.c regarding CD-ROM defaults and IDE channel reading;
Applied all the PCem Voodoo commits;
The Sound Blaster cards' OPL can now be disabled for slight performance gain.
2017-11-22 18:14:27 +01:00
waltje
1562c8bb99 Updated EuroPC NVR handling. 2017-11-19 22:00:08 -05:00
waltje
bc1f1f9e4b More cleanups.
Split Compaq Deskpro off to separae file. Renamed PIIX files to intel_ prefix.
Re-enabled Compaq machines; the Portable II works fine now.
2017-11-12 03:07:01 -05:00
waltje
1e470fe49d Restored Compaq Portable II and III machines, changes by TheCollector1995. Good job! 2017-11-11 16:03:24 -05:00
OBattler
03e7b1db23 Applied all applicable PCem commit;
Fixed window resizing when mandated by the guest - should hopefully stabilize Direct3D.
2017-11-11 16:51:50 +01:00
waltje
f65e8c3110 Fixed the mouse-off-by-one error on Windows version.
Added ROM ID's for Compaq Portable II et al, pending TheCollector1995's patch to add those machines back.
2017-11-11 01:38:18 -05:00
waltje
006639fe5a Re-integration of the Tandy-1000 based machines. 2017-11-10 23:47:21 -05:00
waltje
98d1b01d84 Fixes for PS/2 mouse crash (since AT keyboard rework) from TheCollector1995. 2017-11-09 22:05:41 -05:00
waltje
df6183472c More updates for Amstrad. Note the ROM file names have changed (slightly.) 2017-11-09 21:04:55 -05:00
waltje
ae8d12e9c2 Integrated PS/1 sound driver back into machine file. 2017-11-08 17:49:31 -05:00
waltje
354b49d354 Re-integrated the Amstrad machines. 2017-11-08 16:30:13 -05:00
waltje
b8d75f4f5a Changed the machines to use a table file. 2017-11-08 16:27:52 -05:00
waltje
2955a5d824 Fixed video card init order.
Re-added the TI CF62011 SVGA controller, used by PS/1 and some PS/2 machines.
2017-11-05 20:43:16 -05:00
waltje
7c67e867c8 Major commit, cleaning a lot of old stuff.
IBM.H is gone, video stuff re-organized. Keyboard stuff reorganized.
Machines that have their own video, mouse and/or keyboard now have all this in their machine file.
Fixed and other cleanups here and there.
2017-11-05 02:00:50 -05:00
waltje
b40ea14027 Cleanup, moving stuff out of ibm.h and such. Moved more configuration variables into main. Minor changes for multiplatform. 2017-11-02 02:39:30 -05:00
waltje
0565bf76af More cleanups. Lowercased all BIOS ROM filenames. Added ISA Cirrus-Logic to the video card table. 2017-11-01 01:51:55 -05:00
waltje
bfe038ded9 Cleanup, mostly network threading madness. Statusbar is now created at hard reset, IF the configuration has changed. Other minor things. 2017-10-29 04:20:59 -05:00
waltje
45c6192a71 Fix the SCP-4200P's memory limits. 2017-10-27 20:59:45 -04:00
waltje
4eba751cb0 Interim cleanup with several small (but, as it turned out, fatal) bugs fixed. This commit mostly cleans the mouse code, but a second commit will finalize those changes. 2017-10-26 04:55:00 -04:00
waltje
1d60a99ea3 Another major change round. VNC moved to top level. More cleanups of global data, all VM processing now handled in pc.c (out of the platforms, yay!), and some video cleanups. This build MAY have issues with window sizes, resizing, and fullscreen will not work until the next build- sorry. 2017-10-19 04:28:59 -04:00
OBattler
9f6bab40c1 Implemented the SMRAM register for the 430FX. 2017-10-17 19:01:10 +02:00