Commit Graph

77 Commits

Author SHA1 Message Date
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
fc2a293536 CD-ROM images are now working correctly again;
Fixed all the reported bugs regarding the Settings dialog;
MIDI out device is now no longer reset to 0 after hard reset;
Removed all vestiges of the old disk activity flash;
The configuration file is no longer saved when it shouldn't be;
Redone the status bar icon updating so it is only done in win.c;
Made sure all variables in ibm.h are extern;
A lot of other bugfixes;
Added Mouse Systems Mouse emulation (patch from TheCollector1995);
Added IBM PS/1 Model 2133 (486) emulation (patch from TheCollector1995);
Tweaked the CPU dynamic recompiler cycle periods - 486SX 33 and 486DX 33 now work;
Increased compatibility with configuration files from before the previous commit.
2017-05-29 01:18:32 +02:00
OBattler
e43b45d2ed Removed an excess position increase in d86f_format_track(), 86F images can now be formatted again. 2017-05-15 01:44:04 +02:00
OBattler
3f15cb7be7 Fixed a very stupid error I introduced in disc_86f.c. 2017-05-08 23:10:57 +02:00
OBattler
9cabdf4a36 Removing that .h file, I can't make a correct one. 2017-05-08 19:43:57 +02:00
OBattler
9f99dbcfae Applied a typo-fixing mainline PCem commit to 808x.c;
Temporarily reverted serial port and serial mouse code back to the old one until the new code is fixed;
Fixed nvr_path handling - the NVR path no longer gets messed up at hard reset.
2017-05-06 22:27:23 +02:00
OBattler
c403855a94 The emulator is now almost completely Unicode - this means all paths and file names used can now use non-Latin characters;
Fixed several NVR- and ROM-related bugs in the process of doing the above.
2017-05-06 04:02:03 +02:00
OBattler
cee82642ef Made the emulator even more Unicode then before - configuration files are now Unicode, and floppy images, CD/DVD .ISO images, and hard disk images can now be in paths with non-Latin characters;
Fixed a few minor UI bugs;
Brought IDE IDENTIFY command behavior back in line with Mainline PCEM, in hopes to reduce bugs.
2017-05-05 22:36:10 +02:00
OBattler
b024f174a3 DD floppy drives now correctly ignore DENSEL when reading DD floppies;
Ne2000 now uses the correct vendor ID for the MAC address, per information from waltje;
File name text box in Add hard disk dialog is now correctly disabled;
Floppy drive types are now stored as readable string in the configuration file.
2017-05-05 04:32:05 +02:00
OBattler
7610dbe209 Fixed the makefiles again, hopefully this time properly;
Single-sided floppy drives are actually single-sided now;
Temporarily re-enabled floppy logs for bugfixing purposes.
2017-05-05 02:43:34 +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
7e54cc4436 Two instances of the IDE code setting the error register did not set it in the cdrom struct if drive is CD-ROM, now they do, fixes CD-ROM booting on the Intel Advanced/ATX and possibly other things;
Fixed IDE and ATAPI 8-bit data reads and writes by rewriting the IDE and CD-ROM PIO data read and write code so that the base code is now 8-bit;
Added some compiler directives that if set, will enable togglable logging and log breakpoints;
Empty IDE channels now always report a status of 0x10 rather than 0x20, and do it on port 3F6h/376h/36Eh/3EEh too, fixes OAKCDROM.SYS infinite loop when hitting an empty IDE channel.
2017-01-17 00:01:59 +01:00
OBattler
4f7fd84229 Overhauled and unified CD-ROM emulation;
Four CD-ROM drives are now emulated;
ATAPI DMA is now emulated;
Unified CD-ROM pass through to host drive handling;
Applied all (applicable) mainline PCem commits.
2017-01-16 01:49:19 +01:00
OBattler
ad7c92b2c5 Fixed the FDC's behavior of the DOR register and the RECALIBRATE and SEEK command to more accurately replicate that of a real FDC, fixes Windows 98 and (hopefully) NetBSD. 2016-12-24 05:37:14 +01: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
acb06e5a17 Fixed a mistake in the operation of the FDC READ TRACK command. 2016-11-11 17:24:45 +01:00
OBattler
beb4e7869d The FDC READ TRACK command should now operate properly. 2016-11-11 03:16:41 +01:00
OBattler
971eeedde7 Reverted floppy disk operation to what it was in build 274, with a slight cleanup;
Sound Blaster 16 and AWE32 IRQ, base address, and DMA configuration is back;
The Intel Advanced/ATX now requires version 1.00.06 of the BIOS rather than 1.00.05.
2016-11-10 21:16:24 +01:00
OBattler
02014df53a Reworked floppy handling a bit, fixes booting from floppies;
Applied mainline PCem commit that fixes Windows 3.1.
2016-11-09 00:15:43 +01:00
OBattler
e2a2815b01 Floppy poller is now per side;
Implemented head load and unload times;
Floppy drive motors now correctly start spinning when a head is loaded and stop when a head is unloaded.
2016-11-08 03:58:36 +01:00
OBattler
6e2b91c3d1 Pretty much all timer counters are now 32-bit again;
Fixed FDI stream parameters passed to the 86F handler, FDI stream images now read correctly again;
The National Semiconductors PC87306 SuperI/O chip now supports enhanced FDC mode.
2016-11-07 06:39:20 +01:00
OBattler
67e5166cd4 The 86F loader now reads the track offsets table from the correct offset. 2016-11-06 22:32:18 +01:00
OBattler
1b1b18f1dd Removed the CRC64 stuff from the Windows makefiles. 2016-11-05 01:02:32 +01:00
OBattler
d6baa6a948 86F format version is now 2.11, which is 2.10 without the CRC64. 2016-11-05 01:00:48 +01:00
OBattler
78a44d845b Fixed a bug regarding 86F images and extra bit cells;
Brought the Intel Flash emulation in line with mainline PCem;
Removed the Intel Advanced/ML;
Reverted the ET4000/W32p code back to the code from mainline PCem, with fixes to PCI and linear frame buffer addresses according to the datasheet;
Timer counters are now 32-bit again - fixes quite a few bugs.
2016-11-04 22:32:23 +01:00
OBattler
a619af0acf 86F version increased to 2.10 - each side of each track now has its own offset in the table and each track now has its own number of extra bitcells;
Number of formatted sectors is now set to 0 every time the FORMAT TRACK command is issued;
The 86F writeback function now performs a fseek between the fread of the header and the fwrite of the track offsets table, so said table actually gets written to the file now;
PS/2 mouse now works on the Epox P55-VA;
Serial mouse now works again.
2016-11-03 22:07:34 +01:00
OBattler
6a43b2f3a1 Extra bit cells field in the 86F struct is now int32 rather than int16, and the range is increased to -32768 to 32768. 2016-11-03 01:09:53 +01:00
OBattler
59308f6658 Fixed two recompiler bugs pointed out by mooch;
Fixed corruption on 86F recompression;
Fixed CRC64 calculation on 86F writeback.
2016-11-03 00:57:01 +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
OBattler
5ffb50d13d Table of GAP3 lenghts updated to add more formats;
Applied the last mainline PCem commit;
Increased track arrays in the 86F struct, fixes ED 86F's at reduced RPM;
Fixed size display related bugs in the hard disk settings dialog;
(S)VGA status now separates Chain 4 and Chain Odd/Even statuses.
2016-10-09 22:18:03 +02:00
OBattler
e9c9adf988 Made sure Sector not found will be issued in case of data rate or RPM mismatch. 2016-10-09 00:24:25 +02:00
OBattler
1280a4b1a9 Attempt to get rid of the 86F wait state since it's probably no longer needed. 2016-10-09 00:21:53 +02:00
OBattler
f27a2732fb Commend out an excess logging line from disc_86f.c. 2016-10-05 17:05:11 +02:00
OBattler
d8c9b7ab76 Fixed 86F read state detection, should make 86F as well as any floppy image formats proxied to the 86F handler read again. 2016-10-05 15:06:26 +02:00
OBattler
e1da051f44 Added the FDC SCAN EQUAL, SCAN LOW OR EQUAL, and SCAN HIGH OR EQUAL commands. 2016-10-05 05:37:07 +02:00
OBattler
64d9cdc665 TD0 and IMD images of DMF media are now loaded with the correct sector interleave;
Fixed several bugs in TD0 and IMD loading;
Added FDC READ DELETED DATA, WRITE DELETED DATA, and VERIFY commands;
Mismatching data address marks are now handled correctly.
2016-10-05 00:47:50 +02:00
OBattler
6ac2526dbb The 86F handler now reads and writes .86F images correctly again;
Improved TeleDisk support;
Added support for ImageDisk (IMD) images;
Added MSR registers 186 and 570 for the Intel i686 CPU's;
Applied both mainline PCem commits.
2016-10-04 17:25:16 +02:00
OBattler
d3d26999f6 Added support for TD0 (Teledisk) floppy images;
Fixed support for Japanese HDI hard disk images;
Attempt to mix DOS 4.x DOSSHELL mouse issues.
2016-09-29 21:54:34 +02:00
OBattler
42ed2920e2 Fixed handling of 86F version 1.50 track offset table reads and writes;
Added handlers for formatting and reading/writting 86F mode 2 and 3 images that rely on sync bytes and address marks like a real FDC would.
2016-09-28 22:56:19 +02:00
OBattler
a3e6c4eeb3 FDC DOR handler now does a sanity check when setting drive select, fixes OS/2 Setup fataling the emulator when reading Disk 2;
FDC SEEK command now no longer incorrectly times out when seeking to the track the FDC thinks it's already at, fixes floppies in NT 3.1;
Emulator now correctly saves configuration changes to the configuration files it was loaded with rather than always the default;
Default path for NVR's can now be overridden by adding the nvr_path option to the cfg file.
2016-09-27 21:38:29 +02:00
OBattler
af57860340 Fixed a compile-breaking error. 2016-09-27 03:32:56 +02:00
OBattler
d695922a77 Removed support for all 86F versions other than 1.50 and the emulator-internal 0.99. 2016-09-27 03:16:57 +02:00
OBattler
c627cf42ec 86F version 1.50 encoded format is now handled correctly. 2016-09-27 00:45:14 +02:00
OBattler
fce6d9aa48 Fixed a very stupid compile-breaking error. 2016-09-26 21:20:39 +02:00
OBattler
11fae15897 Fixed more compile-breaking errors. 2016-09-26 21:15:32 +02:00
OBattler
73dabc25f6 Fixed several compile-breaking errors. 2016-09-26 21:03:23 +02:00
OBattler
50f65e1ec0 Added support for 86F version 1.32 images;
Forced reseek on disk change is now its own function and is always performed, fixes disk changes on some machines.
2016-09-26 20:43:09 +02:00
OBattler
bde171e81b Hard disk parameters dialog boxes now allow you to specify size in MB or select a predefined type from a combo box;
Japanese HDI hard disk images are now supproted;
FDC FORMAT command now CRC's the correct data, fixes formatting inserted IMG's;
FDC SEEK command now no longer incorrectly reports invalid status when HDSEL (head select) is 1, fixes booting from inserted floppies of any format on boards other than ASUS P/I-P55TVP4.
2016-09-25 21:39:21 +02:00
OBattler
807d132312 Fixed a few errors that broke compiling;
Fixed limit functionality in d86f_memset() and d86f_memcopy().
2016-09-23 01:15:29 +02:00
OBattler
b25b614e6e Removed debug fatal on data CRC error from the 86F handler;
Prepare sector function can ignore rather than wrap around if so told;
Format now tells prepare sector to not wrap around.
2016-09-23 01:06:05 +02:00