Commit Graph

87 Commits

Author SHA1 Message Date
OBattler
4343f5a8a3 Redid device instantiation, now the ISA memory boards can be configured without having to restart the emulator first. 2018-10-23 21:14:41 +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
00105e68f6 Fixed a compile-breaking mistake in device.c. 2018-10-10 22:35:30 +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
ab401809a7 Reaplied the changes to device_add() that were needed to allow one device to correctly add another, fixes IDE hard disks after reset. 2018-09-06 17:02:49 +02:00
OBattler
ea5a226a97 Brought the ISA memory card emulation and some other things up to par with VARCem and fixed the ISA memory card configuration. 2018-09-06 14:38:43 +02:00
TC1995
4ae0363bbc Added new Paradise ems card and a new 5150 ems card (from VARCem).
Re-worked device handling a bit (from VARCem).
2018-09-04 13:22:10 +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
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
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
a7515042c4 Fixed the Toshiba T1000, T1200, and Xi8088;
If device initialization files and the device has a name, the name of the device is logged;
Fixed path of the OTI-037c BIOS;
The ATI Mach64GX ISA is now AT-compatible only;
The CL-GD 5428 and 5429 ISA are now available on XT machines.
2018-03-03 00:02:21 +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
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
OBattler
b755b27304 Reworked network and SCSI thread initialization and termination;
Hard disk controller name and other related strings are now char * instead of fixed-size arrays.
2017-10-19 23:55:51 +02:00
waltje
7f24ba9fe9 Another cleanup run. 2017-10-17 02:01:03 -04:00
OBattler
253ad40376 All devices now have the bus marked in their name;
The Settings dialog now correctly filters devices by bus;
Split the dual VLB/PCI graphics cards into VLB and PCI versions;
Device filtering is now done using the new device_is_valid() call that compares device flags to machine flags;
Moved the NCR-based SCSI controllers to the main branch;
Moved the NE1000 to the dev branch until it's finished.
2017-10-10 00:14:15 +02:00
waltje
2b37b7fbfb Major changes to NVR, system initialization (pc.c), and what goes on in the Windows startup (win.c.) Not fully done yet, but good enough for a first commit. 2017-10-07 00:49:53 -04:00
waltje
63c532d940 Even more cleanups. Also renamed hdd/ to disk/ as that makes more sense. Machines with an Internal HDC (usually IDE) can now also select an alternative one instead. 2017-10-02 02:21:38 -04:00
waltje
43b055b5ee Another massive cleanup run. Ibm.h no longer includes system header files. ROM loading simplified, and moved from mem.c to rom.c. Fixes in Makefile. Corrected mamy wrong includes. Removed old junk from days long gone. First phase of new SCAT chipset driver - no longer gives errors in BIOS, but NOT DONE YET. 2017-09-25 04:33:16 -04:00
OBattler
3e10570bbd Machine code restructure, models are now machines instead and the init functions are in the machine files rather than in machine.c (former model.c), also moved the machine stuff into the machine/ subdirectory. 2017-09-02 20:39:57 +02:00
c1091d83d3 Lowercase all CAPS to prevent case sensitive errors in non-Windows platforms 2017-08-27 04:33:47 +01:00
waltje
17b64b064e MassCommit(tm) to fix the MCA ESDI driver, clean up all RLL-ESDI stuff, rename HDD-related files, and another version of the AHA-1640, which now works. Not done yet, but getting close! 2017-08-25 02:34:25 -04:00
waltje
2ffedb680b MonsterCommit(tm) with typo-fixes, void-ness fixes, correct CaPs for directories, etc. No real code changes. 2017-08-24 01:17:18 -04:00
OBattler
eb8b8e3766 SCSI controller is now once again reset on soft reset, but this time this is handled in a more appropriate way;
Fixed some copyright headers.
2017-06-14 03:03:29 +02:00
waltje
cbfa682cb7 Changes, updates and fixes to fixes. Check the new warnings re timer_add(). Using stricter prototypes receiled more stuff.. 2017-06-04 02:19:54 -04:00
OBattler
84595f1c78 Added my name to all the emulator's files that I touched;
Unfinished JEGA emulation based on akm's DOSVAX (AX-emulating fork of DOSBox), not yet hooked into the reset of the emulator.
2017-05-30 03:38:38 +02:00
OBattler
a36720f174 Large changes to configuration files again (the old ones might break, be careful);
Applied the mainline PCem slight CPU emulation speedup commit;
Added emulation of removable SCSI hard disks;
CD-ROM image handler now uses C FILE's (with the 64-bit size calls) instead of C++ iostreams, ISO images bigger than 2 GB should work properly again;
Split RLL/ESDI and XT IDE disks to their own bus types;
Turned status bar pane meaning and hard disks and CD-ROM BUS numbers to #define's;
Other miscellaneous cleanups.
2017-05-27 03:53:32 +02:00
OBattler
1a9a55c35e Split off the Network configuration from Other peripherals in the Settings dialog and made PCap device configurable;
Overhauled the configuration files so that the global variables are now subdivided into sections;
Fixed CD-ROM MODE SENSE page 0x2A which was being incorrectly reported as not implemented, fixes among other things Rayman 1 and Spellcross: The Last Battle (both now see the CD-ROM and play CD Audio fine).
2017-05-17 21:56:31 +02:00
OBattler
f6612fb33b Fixed bugs that were preventing NVR and Flash files from behind saved;
A lot of clean ups from waltje;
Start of a directory structure for the code, thanks to waltje.
2017-05-06 17:48:33 +02:00
OBattler
f6ef1f833c Vastly overhauled the UI, there's now a completely new Settings dialog as well as a status bar with disk activity icons and removable drive menus;
Thoroughly clean up the code to vastly reduce the number of compiler warnings and found and fixed several bugs in the process;
Applied all mainline PCem commits;
Added SCSI hard disk emulation;
Commented out all unfinished machines and graphics cards;
Added the AOpen AP53 and ASUS P/I-P55T2 machines as well as another Tyan 440FX machine, all three with AMI WinBIOS (patch from TheCollector1995);
Added the Diamond Stealth 3D 3000 (S3 ViRGE/VX) graphics card (patch from TheCollector1995);
Added the PS/2 XT IDE (AccuLogic) HDD Controller (patch from TheCollector1995);
Added Microsoft/Logitech Bus Mouse emulation (patch from waltje);
Overhauled the makefiles (patch from waltje);
Added the Adaptec AHA-1542CF SCSI controller (patch from waltje);
Added preliminary (but still unfinished) Adaptec AHA-154x SCSI controller BIOS support (patch from waltje);
Added an ISABugger debugging device (patch from waltje);
Added sanity checks to the Direct3D code.
2017-05-05 01:49:42 +02:00
OBattler
dc46480aa4 Applied all mainline PCem commits;
Added experimental NVidia Riva TNT2 emulation (patch from MoochMcGee);
ASUS P/I-P54TP4XE, ASUS P/I-P55T2P4, and ASUS P/I-P55TVP4 are back;
National Semiconductor PC87306 Super I/O chip now correctly reenables devices after a chip power cycle;
Several FDC improvements and the behavior is now a bit closer to real hardware (based on actual tests);
Added MR Intel Advanced/ATX with Microid Research BIOS with support for 4 floppy drives and up to 4 IDE controllers;
Added floppy drives 3 and 4, bringing the maximum to 4;
You can now connect hard disks to the tertiary IDE controller;
Correct undocumented behavior of the LEA instruction with register is back on 286 and later CPU's;
Pentium-rea models with Intel chipsets now have port 92 (with alternate reset and alternate A20 toggle);
Overhauled DMA channel read and write routines and fixed cascading;
Improved IMG detection of a bad BPB (or complete lack of a BPB);
Added preliminary emulation of PS/2 1.44 MB and PC-98 1.25 MB 3-mode drives (both have an inverted DENSEL pin);
Removed the incorrect Amstrad mouse patch from TheCollector1995;
Fixed ATAPI CD-ROM disk change detection;
Windows IOCTL CD-ROM handler now tries to use direct SCSI passthrough for more things, including obtaining CD-ROM capacity;
The Diamond Stealth32 (ET4000/W32p) now also works correctly on the two Award SiS 496/497 boxes;
The (S)VGA handler now converts 6-bit RAMDAC RGB channels to standard 8-bit RGB using a lookup table generated at emulator start, calculated using the correct intensity conversion method and treating intensity 64 as equivalent to 63;
Moved a few options from the Configuration dialog box to the menu;
SIO, PIIX, and PIIX3 now have the reset control register on port CF9 as they should;
Several bugfixes.
2016-12-23 03:16:24 +01:00
OBattler
e280faa2d6 86F format handler updated to 86F version 2.0 and bit by bit handling;
FDI stream images are now also handled by the 86F handler;
Both floppy drives' motors now spin separately;
Added Plantronics ColorPlus emulation per patch from PCem forum;
Applied all mainline PCem commits;
Fixed several bugs.
2016-11-02 22:39:07 +01:00
Jackson Bryn
291ac890e2 Add copyrights for all files to comply with the GPL v2. 2016-08-14 22:27:13 -04:00
OBattler
fd2a5bc9f5 Initial submission of the PCem-Experimental source code. 2016-06-26 00:34:39 +02:00