Commit Graph

92 Commits

Author SHA1 Message Date
OBattler
9c6ec45e60 Removed ROM set checking from several files. 2018-09-15 16:15:39 +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
b786b16bd1 Some fixes to mem.c;
Correctly implemented the 256k wrap around on the ET4000AX, fixes DOS/V.
2018-08-22 18:08:31 +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
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
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
78515537ef Changed the way PS/2 Model 80 split mapping is handled (but OS/2 2.x still runs on it);
The pages array are no longer allocated for the entire memory of space if memory size + 384 is above 16 MB (turns out it was not needed at all), further significantly reduces the emulator's RAM usage;
Made greatpsycho's revised SVGA status handling specific to ATI cards, while the generic (S)VGA code uses the old handling - fixes error 2401 on PS/2 Model 80.
2018-03-16 00:08:43 +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
TC1995
0b02fc37bc Ported the most relevant PCem commits to 86Box. 2018-03-11 18:26:44 +01:00
OBattler
574f633a62 Fixed the makefile's header revision and date. 2018-03-07 20:17:04 +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
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
3d37ed73cd Replaced the mmutranslate functions in mem.c with slightly altered versions of Sarah's, should increase performance even slightly more. 2018-02-07 23:44:51 +01:00
OBattler
f18cd3d89e Removed excess memset()'s from hdd_image.c and did a few other optimizations there, also fixed incorrect zero'ing of the buffer in hdd_image_write_ex();
Did a tweak to mmutranslate() in mem.c, should increase performance again;
Added the ATi VGA Wonder and ATi VGA-88, made the ATi VGA Edge-16 use the correct BIOS.
2018-02-07 19:01:39 +01:00
OBattler
2b8b4d5ba4 Fixed the warning in mem.c;
Scan code E0 00 (fake scan code seen with USB keyboards' special keys on Windows) is no longer passed through.
2018-01-21 13:34:07 +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
32bc2a02b3 Disabling the PS/2 mouse via the KBC command byte now also disables the "Write to mouse output buffer" and "Write to mouse" commands, fixes hang when entering CMOS Setup on the P55T2S;
Unified the various machines' identical port 92h implementations.
2018-01-07 20:36:30 +01:00
OBattler
9b2705eb9f Inverted the operation of the OPTi 495 A20 control bit and made the AT keyboard controller (8042) as well as memory default to A20 off - makes both the MR 386 DX and the Award 386 and 486 clones work correctly;
The Amstrad MegaPC now correctly initializes the internal Paradise WD90C11 graphics card, making the machine work again.
2018-01-04 01:57:55 +01:00
OBattler
d111aef475 Fixed a very minor bug in mem.c. 2017-12-12 01:55:08 +01:00
OBattler
5b229b8043 If the machine has 16 MB or more RAM, 384 extra kB are now malloc'ed for the top remapping. 2017-12-11 21:14:55 +01:00
OBattler
0a11a6d3b4 Added a second set of physical address byte read and write functions in mem.c that are now used by dma.c so that DMA reads and writes do not go through the CPU's paging mechanism anymore - fixes Adaptec and BusLogic SCSI drivers in NT 3.1;
Applied some more of greatpsycho's CPU patches;
Reworked the PS/2 Model 80 split memory block handling and removed the top 256k remap from it (that's what the split memory block is for) - fixes OS/2 2.x on that machine.
2017-12-11 19:41:58 +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
OBattler
b97aacdc70 Applied greatpsycho's latest changes (hopefully correctly). 2017-11-19 12:52:09 +01:00
OBattler
03e7b1db23 Applied all applicable PCem commit;
Fixed window resizing when mandated by the guest - should hopefully stabilize Direct3D.
2017-11-11 16:51:50 +01:00
waltje
df6183472c More updates for Amstrad. Note the ROM file names have changed (slightly.) 2017-11-09 21:04:55 -05: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
b40ea14027 Cleanup, moving stuff out of ibm.h and such. Moved more configuration variables into main. Minor changes for multiplatform. 2017-11-02 02:39:30 -05:00
waltje
7f24ba9fe9 Another cleanup run. 2017-10-17 02:01:03 -04:00
OBattler
4d9f5f0d05 Merge branch 'master' of https://github.com/OBattler/86Box 2017-10-16 06:19:49 +02:00
OBattler
ed865610e9 A dynamic recompiler block's validity is now separate from its starting code address, should fix most of the known recompiler fatals;
The CD-ROM buffer is now dynamically malloc'd;
Did a lot of bugfixing in cdrom.c and scsi_disk.c, Debian 8's modprobe aha1542 and the NT 3.10.404.1 Trantor 310b driver now work;
Fixed the IDE IRQ/MIRQ mess and ATAPI DMA transfer length;
Fixed the operation of mmutranslate() a bit;
Commented out several instances of excess logging;
Applied the mainline PCem commit prefetch commit;
Readded missing Sound Blaster DSP MIDI behavior and gave it the correct MPU struct;
All non-IBM 486 machines now correctly have the VLB flag set.
2017-10-16 06:19:18 +02:00
waltje
fbd95451d2 Fixes (missed a few spots) for DYNAREC and propagated to Linux. 2017-10-14 22:51:49 -04:00
OBattler
1cfa8e2c4d The emulator can now be compiled without the recompiler by using the DYNAREC=n parameter with make;
The BIOS address is now selectable for the BusLogic ISA SCSI controllers.
2017-10-15 02:43:13 +02:00
waltje
724e5c44df More cleanups to separate main code from platform support and UI support, plus a few bugfixes. 2017-10-12 14:26:28 -04:00
waltje
e8899c30c1 Fixed black screens - have to only look at the lower 256K of a ROM's load address. 2017-09-30 19:56:13 -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
40e7a0efab The WIN_DRIVE_DIAGNOSTICS command now behaves correctly (but I'm redoing the IDE emulation anyway);
The IBM PS/2 Model 486 now uses its own rom set ID;
The AHA-154x and Buslogic SCSI controllers no longer stop scanning for mailboxes when in aggressive round robin mode;
PIC interrupt processing fixes - no more IRQ-caused triple faults in Windows 98 SE.
2017-09-08 00:17:49 +02:00
c1091d83d3 Lowercase all CAPS to prevent case sensitive errors in non-Windows platforms 2017-08-27 04:33:47 +01: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
0213fedfe1 Readded the Award 430VX PCI, this time with the UMC UM8699F Super I/O chip emulated correctly per commit from mainline PCem + my own fixes. 2017-08-21 02:15:21 +02:00
OBattler
3b66776601 Improved memory configuration setting accuracy when 1MB memory installed (mainline PCem patch from Greatpsycho);
MovQ MMX Realmode bugfix (mainline PCem patch from JosepMa);
Tweaked the buffer for MT-32 and FluidSynth so they sound better (patch from bit).
2017-08-14 19:43:08 +02:00
OBattler
753937741e Added the AWARD 386SX, 386DX, and 486 clones, all using the same BIOS (supports all of these configurations) and the OPTi 495 chipset. 2017-07-20 14:14:43 +02:00
OBattler
e2512f8d9b Commented out the Compaq Portable II's and III's. 2017-07-20 10:45:36 +02:00
TC1995
c54bbb3eb5 Updated Compaq Portable II and III roms. 2017-07-19 14:29:00 +02:00
OBattler
95ac6ebe1d Temporarily reverted to the PCem serial code (but kept waltje's in, optionally enabled by running make with WALTJE=y parameter);
Applied another A20 patch from Greatpsycho.
2017-07-18 14:55:09 +02:00
OBattler
7c3337a563 Fixed the paths to the MDA and WY700 character ROM's. 2017-07-17 16:26:53 +02:00
OBattler
d3baa03d05 A20 line fix by Greatpsycho. 2017-07-17 14:22:02 +02:00
OBattler
4f5582ce21 Added PSE emulation, based on mainline PCem commit. 2017-07-16 23:12:21 +02:00
Marcos Alves
564f0f8331 Re-arranged roms' paths to be a bit more sane. 2017-07-16 15:28:09 +01:00
OBattler
2dbce95fde Applied the remaining mainline PCem commits. 2017-07-15 14:01:19 +02:00