Commit Graph

117 Commits

Author SHA1 Message Date
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
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
15538f1441 More portability changes, and some bugfixes found through that. 2017-10-27 20:54:53 -04:00
OBattler
bffc39ddbf Fixed some bugs in cdrom.c;
Fixed (hopefully) pass through in the Windows CD-ROM IOCtl code;
Fixed the legacy I/O address handling on the BT-958D, now it behaves correctly - legacy I/O address disabled by default, can be enabled in AutoSCSI (removed the setting from the device config struct);
The BT-958D PCI-configured I/O space now correctly gets 32 ports and not 4.
2017-10-23 01:36:00 +02:00
OBattler
f087130fe9 Fixed CD-ROM ATAPI DMA and made ATAPI PIO much less of a mess;
Fixed MCA write bugs for the AHA-1640 and BT-640;
Fixed a warning in the PC87306 Super I/O chip emulation;
Each renderer now only has a 32-bit blitter - video_blit_memtoscreen_8() now only converts buffer to buffer32 and then calls video_blit_memtoscreen(), 8-bit blitters are now gone.
2017-10-22 03:16:52 +02:00
OBattler
cd9253c9b8 Start SCSI Command (Adaptec and BusLogic) and Start BIOS SCSI Command (Adaptec) controller commands now set the event the thread is waiting for to signal that it's time to stop waiting. 2017-10-20 23:15:22 +02:00