Commit Graph

196 Commits

Author SHA1 Message Date
OBattler
15db405697 Fixed Iomega ZIP drive initialization mess;
Fixed (hopefully) network status bar activity indication.
2018-10-19 19:10:12 +02:00
OBattler
cfc626f111 Change to logging - when logging is disabled, the logging functions are now #define'd to nothing, so the compiler ignores the lines that call them completely, seems to slightly speed up the emulator; note that the logging in vid_table.c has not been changed yet, because this file on my local tree currently contains other WIP changes. 2018-10-19 00:39:32 +02:00
OBattler
c663147d11 Imported CD-ROM-related changes from VARCem;
Removed cdrom_null.c/h;
Some changes to logging (will be spread to everything else soon).
2018-10-17 05:29:48 +02:00
OBattler
09168610a4 The absolute path is now passed to plat_dir_create() instead of the relative path;
The makefile now support passing a number of jobs to flto.
2018-10-12 23:54:23 +02:00
OBattler
b8d3992c07 Fixed some CD-ROM-related bugs;
Added sanity checks to the device close functions of the Hercules family graphics cards;
Cleaned up, fixed the bugs in, and reworked the implementation of the Adaptec/BusLogic BIOS command handler;
Removed some scsi_device.c functions that have now become useless;
Removed some excess stuff from pc_init_modules().
2018-10-11 10:34:12 +02:00
OBattler
6155802b59 Split generic CD-ROM from SCSI-style CD-ROM;
Redid the way SCSI and ATAPI devices are handled;
Slight timings change in the NCR 5380;
Devices are now closed by device_close_all() in the reverse order of the one in which they were started;
Slight changes to some code in win/;
Added the WM_HARDRESET and WM_SHUTDOWN window messages for configuration manager purposes.
2018-10-10 22:33:24 +02:00
OBattler
647d78e4c2 Removed a lot of useless #include's from a lot of files and reworked the SCSI #include's a bit to resolve the problem of scsi.h being a mess. 2018-10-02 22:54:28 +02:00
OBattler
6d00b48eef Before displaying the message box, fatal() now calls do_stop() in order to make sure the emulator exit is clean. 2018-09-21 03:19:29 +02:00
OBattler
c7a331a903 Removed the "legacy ID" mess from the video code;
Removed obsolete compatibility stuff from config.c;
Removed the useless gfx_present array.
2018-09-19 20:46:42 +02:00
OBattler
69b57c49b0 Major changes to video code - no more ROM set checks, and type and timings are set in a card's device init function;
Added the ExpertColor DSV3868P CF55 (S3 Vision868).
2018-09-19 20:13:32 +02:00
TC1995
0d2ee0a57d Ported the ISA RTC and Memory expansion cards from VARCem's.
Bunch of improvements in the device, memory and MMU handling.
Re-worked the NEAT 286 chipset (ported from VARCem).
Re-worked the ATI 28800 a bit, added Sierra SC1502x ramdac to VGA Wonder XL (Compaq) since it supports such.
Top 384K memory handling improvements (256K top memory too)
Added MCA version of MPU-401 (not tested much, however).
Re-worked the SCAT 286 chipset.
2018-09-03 13:55:09 +02:00
OBattler
d6e4291a68 The Trigem 286M is now correctly initialized without IDE, fixes non-IDE hard disk controllers (eg. MFM);
A small change to how the video font array resetting is done, to correctly allow for internal Korean graphics cards, fixes the emulator segfaulting in some cases with the Trigem 286M and the internal Korean ET4000AX.
2018-08-16 03:18:53 +02:00
David Hrdlička
d482d9eed3 update copyright information 2018-08-04 15:03:02 +02:00
David Hrdlička
c7388eb174 config: replace numeric enable_sync setting with time_sync string
This shouldn't break existing configs. Existing "enable_sync" setings are automatically replaced with an appropriate "time_sync" value. In case "enable_sync" and "time_sync" settings are both present in a configuration file (shouldn't happen without manually editing the config), "time_sync" takes precedence.
2018-08-04 15:02:57 +02:00
OBattler
950ce8f5aa Added the 3Com 3C503 Network card;
Several bug fixes;
Preliminar addition of the SDL 2 renderer (does not yet work correctly in full screen mode);
SCSI devices no longer have configurable LUN's (this matches the configurability of real SCSI devices);
SCSI LUN's are now handed by the device's handler;
Removed all unused strings;
Removed some unused code files;
Significantly rewrote the bus mouse emulation.
2018-07-15 01:41:53 +02:00
OBattler
5d8deea63b Changes to logging - nothing (other than some parts of pc.c) uses the global pclog anymore (and logs will be almost empty (until the base set logging flags is agreed upon);
Fixes to various hard disk controllers;
Added the Packard Bell PB640;
Fixed the InPort mouse emulation - now it works correctly on Windows NT 3.1;
Removed the status window and the associated variables;
Completely removed the Green B 486 machine;
Fixed the MDSI Genius;
Fixed the single-sided 5.25" floppy drive;
Ported a CPU-related commit from VARCem.
2018-05-21 19:04:05 +02:00
OBattler
16a7b1cef2 Removed win_status.c and the related stuff as it was not updated for a while and no longer displayed useful information. 2018-04-26 13:33:29 +02:00
OBattler
a412ceb4d9 Applied all relevant PCem commits;
Extensively cleaned up and changed the CD-ROM code;
Removed CD-ROM IOCTTL (it was causing performance and stability issues);
Turned a lot of things into device_t's;
Added the PS/1 Model 2011 XTA and standalone XTA hard disk controllers, ported from Varcem;
Numerous FDC fixes for the PS/1 Model 2121;
NVR changes ported from Varcem;
The PCap code no longer requires libpcap to be compiled;
Numerous fixes to various SCSI controllers;
Updated NukedOPL to 1.8;
Fixes to OpenAL initialization and closing, should give less Audio issues now;
Revorked parts of the common (S)VGA code (also based on code from QEMU);
Removed the Removable SCSI hard disks (they were a never finished experiment so there was no need to keep them there);
Cleaned up the SCSI hard disk and Iomega ZIP code (but more cleanups of that are coming in the future);
In some occasions (IDE hard disks in multiple sector mode and SCSI hard disks) the status bar icon is no longer updated, should improve performance a bit;
Redid the way the tertiary and quaternary IDE controllers are configured (and they are now device_t's);
Extensively reworked the IDE code and fixed quite a few bugs;
Fixes to XT MFM, AT MFM, and AT ESDI code;
Some changes to XTIDE and MCA ESDI code;
Some fixes to the CD-ROM image handler.
2018-04-25 23:51:13 +02:00
OBattler
7237cc7237 Some tweaks to hard disk image creation. 2018-03-19 09:48:44 +01:00
OBattler
7d070e2930 Got RAM usage down slightly further by merging in mode code from VARCem;
Fixed the mouse.
2018-03-19 08:01:13 +01:00
OBattler
473fd383d2 Do not allow mouse capturing if no mouse configured, patch from VARCem;
Reimplemented saving of all the non-volatile things of the Toshiba T1000 and T1200;
Applied the latest T1200 patch from John Elliott;
Applied the latest ATI Korean VGA patch from greatpsycho.
2018-03-19 04:19:19 +01:00
OBattler
b1efb99ed6 Applied a whole slew of patches, getting RAM usage down by a further 10 MB. 2018-03-19 01:02:04 +01:00
OBattler
d1c3170756 Fixed more CD-ROM bugs. 2018-03-17 23:01:06 +01:00
OBattler
a59dc8e436 CD-ROM code clean-ups, also reduces memory usage by a further about 2 MB. 2018-03-17 20:32:20 +01:00
OBattler
1f11f9f9a1 IDE buffers are now allocated on IDE reset, only for attached devices (and sector buffers only for hard disks). 2018-03-15 23:32:07 +01:00
OBattler
3b62e83315 Ported some IDE and ATAPI-related improvements from PCem;
Fixed the ATI 18800 emulation;
More tweaks to reduce RAM usage.
2018-03-15 22:57:24 +01:00
OBattler
ddcb901421 Ported over the VARCem NVR commit. 2018-03-13 03:46:10 +01:00
OBattler
22536d8d03 Fixed a mistake in floppy/fdd.c;
Fixed some undeclared variables in floppy/fdd_imd.c;
Moved zip.c/h to disk subfolder;
Fixed the warnings in video/vid_t1000.c.
2018-03-06 01:14:38 +01:00
OBattler
99d22c3c03 Added the Xi8088. 2018-03-02 20:47:18 +01:00
TC1995
f7ec4f7a40 Ported the relevant PCem commits to 86box. 2018-02-24 17:25:50 +01:00
OBattler
bd0169cab8 Window resizing fixes - switching between resizable and non-resizable modes no longer distorts the renderer output, and moving the window while it's resizing should (hopefully) no longer trigger spurious resizes. 2018-02-14 12:04:54 +01:00
OBattler
86f50bdc48 Committed the correct pc.c and fixed the number of SCSI ID's in scsi.h. 2018-02-10 01:50:23 +01:00
OBattler
437b519d94 Moved the Sound Gain control option from the Tools menu to a new Sound icon on the status bar;
LPT2 and LPT3 devices can now be selected.
2018-02-06 19:53:34 +01:00
OBattler
704e2ac3ae Returned mouse_reset() to where it was and split off the call to mouse_close() to pc_reset_hard_close(). 2018-01-29 01:19:49 +01:00
OBattler
af0482bd04 Moved mouse_reset() to before machine_init(), should fix the initialization of Amstrad and Olivetti M24 internal mice. 2018-01-29 00:49:40 +01:00
OBattler
bd7e955b64 Finished the NE1000 (per patch from TheCollector1995) and added the RTL8019AS ISA PnP, finalizing the work on NE1000/NE2000-compatible network cards;
Disabled excess ZIP logging;
Applied the PCem video and SCAT commits;
Restored the video initialization line in pc.c back to where it was before.
2018-01-28 03:15:01 +01:00
OBattler
410ecb1f22 Added Iomega ZIP emulation. 2018-01-26 22:17:09 +01:00
OBattler
8e6497f01d Added the "New Floppy Image" functionality with its own dialog box, can create 86F, Japanese FDI, and IMG images;
The settings dialog now keeps track of MFM/XTIDE/ESDI/IDE channels and SCSI ID's and LUN's;
The IBM PS/2 Model 50 now installs a Model 80-style memory expansion card (MCA ID FCFF) when more than 2 MB RAM is selected, and now supports a maximum of 10 MB RAM.
2018-01-19 15:39:13 +01:00
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
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
31153f20d4 The NCR 53C810 is now threaded;
Reverted my IDIV fixes - fixes font glitches in Windows XP and possibly other things as well;
Slight fix to line repeat detection in pclog_ex().
2017-12-16 19:46:07 +01:00
OBattler
4f8506b65e Fixed the hang on unclipping the mouse and (hopefully) all the hangs on switching to/from full screen. 2017-12-15 18:47:29 +01:00
waltje
c7946fbce7 Fix logging issues. 2017-12-10 02:54:20 -05:00
waltje
d52846d3be Mouse changes - mice are now regular devices with config options. 2017-12-10 02:09:06 -05:00
OBattler
4ccef55bc0 Modified CD Audio thread initialization and termination a bit, fixes the emulator hang when disabling the last enabled CD-ROM drive;
The CD Audio thread is now closed on emulator close if it was opened.
2017-12-05 20:19:19 +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
OBattler
0e1cbadb48 Changed the base for relative configuration path from the EXE path to the current working directory at startup. 2017-11-26 08:49:21 +01:00
OBattler
0009d4a1c3 AT NVR writes now again correctly set NMI mask;
If no VM path is specified or the specified VM path is relative, it is now converted to absolute using exe_path;
Fixed saving path for screenshots when using the DirectDraw renderer.
2017-11-24 13:14:09 +01:00
waltje
397c693170 Hopefully final update to Logitech Bus Mouse - now works on DOS(MS 2.0/9.1), Win3, WfW311, Win95, Win98, NT 3.1, NT 3.51. 2017-11-23 17:42:00 -05:00