Commit Graph

472 Commits

Author SHA1 Message Date
TC1995
0c01e1d7a8 Updated copyright info. 2018-07-19 16:11:34 +02:00
TC1995
2fecef0741 Preliminary 186 emulation.
Added MCA variant of the ET4000 VGA card.
Added NE/2 Netware card.
Corrected timings of the NCR 5380-based cards.
Added the WD8003E (8-bit ISA), WD8013EBT (16-bit ISA) and WD8013EP/A
(MCA) network cards.
2018-07-19 16:01:31 +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
56c2007b91 Slightly dumbed down the NCR 53c810 external BIOS support - it violates the PCI standard (because the BIOS' presence is not declared in the PCI registers) but it works. 2018-05-23 01:33:35 +02:00
OBattler
ae644a8fda Fixed InPort mouse base address configuration;
The NCR 53c810 SCSI controller now optionally supports an external BIOS.
2018-05-23 00:32:40 +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
0f06407825 Applied the latest PCem commits. 2018-03-21 15:16:25 +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
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
e5442e367b Tweaked NCR 53C810 timings a bit and made it no longer return on bad selection or non-data commands, fixes NT 3.1. 2018-03-11 00:16:20 +01:00
OBattler
c0bb63bd82 Fixed minor bugs in the NCR 53C810 and Adaptec/Buslogic SCSI emulations;
FDC reads and writes now use up ISA cycles;
Fixed Mach64 mono-source blits, fixes NT 3.1 and 3.5 drivers;
Incresed maximum emulated CD-ROM speed to 72x;
Fixed a minor bug in the Cirrus Logic CL-GD 54xx emulation.
2018-03-10 21:46:38 +01:00
OBattler
16c722b32f Realistic CD-ROM timings on ATAPI PIO, ATAPI DMA, SCSI NCR 53c810, and SCSI Adaptec/Buslogic;
Added ability to select emulated CD-ROM drive speed;
The Adaptec and BusLogic SCSI controllers are no longer threaded;
Two fixes in video/vid_s3.c.
2018-03-07 20:06:08 +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
0130c82df3 Fixed more bugs. 2018-02-25 10:40:53 +01:00
OBattler
c7b99751d9 Fixed two bugs reported by waltje. 2018-02-25 08:59:57 +01:00
OBattler
af836e03c0 Fixed a warning in scsi_x54x.c. 2018-02-19 12:46:18 +01:00
OBattler
e441601cd9 Some minor fixes in the AHA/BusLogic code;
Added the Cirrus Logic CL-GD 5428 ISA, 5430 VLB, and 5430 PCI;
The makefile now makes the compiler use the -flto flag only if OPTIM=y.
2018-02-19 12:32:54 +01:00
OBattler
e0a9de85c9 Changed several char arrays all around the code to const char pointers, debloats the executable file from 8.7 MB to 5.6 MB;
Replaced the Cirrus Logic code with the latest code from TheCollector1995 - the CL-GD 5428 is now fully working, as is the CL-GD 5429;
Minor clean-up in the AHA/BusLogic BIOS commands code;
Slightly rewritten mem_readb_phys_dma() and mem_writeb_phys_dma().
2018-02-18 10:32:51 +01:00
OBattler
86af6c6ac1 The Adaptec AHA-154x/1640 SCSI controllers now return the correct sequence of bytes on base address + 3, fixes ASPI4DOS.SYS version 3.36. 2018-02-16 11:57:31 +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
410ecb1f22 Added Iomega ZIP emulation. 2018-01-26 22:17:09 +01:00
OBattler
45e55a7163 Fixed the NCR5380 timer initialization, fixes hangs with the NCR5380-based SCSI controllers. 2018-01-26 19:52:10 +01:00
OBattler
cfe2912aec The CD-ROM READ SUBCHANNEL command now takes into account the allocated length given in the CDB, fixes some infinite DMA loop problems with NCR 810 SCSI CD-ROM drivers;
Removed some MODE SELECT-related leftovers from cdrom.c and scsi_disk.c.
2018-01-25 20:17:56 +01:00
OBattler
07609adf4c Fixed a compile-breaking bug in scsi_disk.c. 2018-01-24 18:42:39 +01:00
OBattler
2dce0de749 Fixed bugs in the Settings dialog regarding channel/ID/LUN tracking;
Fixed the MODE SELECT (6) command for CD-ROM and SCSI disk;
Implemented REQUEST SENSE with DESC bit set for SCSI disk;
Implemented the SCSI RESERVE, SCSI RELEASE, and SEND DIAGNOSTIC commands for SCSI disk.
2018-01-24 18:38:43 +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
444fa519a7 Fixed CD-ROM temporary buffer freeing and made the SCSI phase and SCSI status variable per-SCSI-device rather than two single global variables. 2018-01-06 22:47:41 +01:00
OBattler
b6be9e7d95 More BusLogic round robin mode fixes. 2018-01-02 05:54:43 +01:00
OBattler
4110947fc4 The BusLogic SCSI controllers now wait the waiting event for 10 seconds when finding a free outgoing mailbox in strict round robin mode, fixes hangs during Windows 2000 setup on the BT-958D. 2018-01-02 02:35:32 +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
37fc5642ca Significant cleanup of the NCR 53C810 code and some bugfixes;
The Green P board now has the AMIBIOS flag.
2017-12-22 06:18:12 +01:00
waltje
61e9077dfb Initial commit of the Sumo SCSI-AT (NCR5380-based) SCSI controller. 2017-12-18 02:49:48 -05:00
OBattler
915e8b6496 Some NCR 53C810 fixes, NT 4.0 and Windows 98 SE now work again. 2017-12-16 22:42:27 +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
waltje
69186cfb54 Fixes, mostly dma.c argument type changes. 2017-12-15 21:20:56 -05:00
waltje
b5bda71d27 Make the 33c93 optional for now. 2017-12-15 01:05:48 -05:00
waltje
6639800013 Unneeded instructions deleted. 2017-12-15 00:50:02 -05:00
OBattler
044559f4e9 Fixed a number of bugs in the NCR 53C810 code;
64-bit Windows 86Box now compiles without warnings.
2017-12-13 22:39:41 +01:00
OBattler
83f7d458db Readded the previously incorrectly removed Load and Store SCRIPTS Instructions to the NCR 53C810. 2017-12-12 04:17:23 +01:00
OBattler
19c5e93a3c Two minor bugfixes in the NCR 53C810 code;
Slightly changed the FDC's timer usage;
Added an #include to cdrom.c that should be there.
2017-12-10 19:36:41 +01:00
OBattler
ee27aec06c And also committeded queue.h now. 2017-12-10 15:43:22 +01:00
OBattler
2145619505 And now actually committed the NCR 53C810 files. 2017-12-10 15:37:46 +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
c7946fbce7 Fix logging issues. 2017-12-10 02:54:20 -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
OBattler
c15fb69584 Fixed the AHA-1640 and BT-640A MCA SCSI controllers, they both work correctly now;
IBM PS/2 Model 80-486 now correctly loads and saves a second NVR file.
2017-12-05 22:39:21 +01: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
OBattler
7095f329de Implemented SCSI disk WRITE AND VERIFY (10), WRITE AND VERIFY (12), and WRITE SAME (10) commands;
Implemented byte compare mode for the SCSI disk VERIFY (6), VERIFY (10), and VERIFY (12) commands.
2017-11-23 21:32:21 +01:00