Commit Graph

37 Commits

Author SHA1 Message Date
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
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
OBattler
9f3a58bb24 This should fix the mess. Sorry for that. 2017-10-15 03:01:40 +02:00
OBattler
e9355aa0ad Merge branch 'master' of https://github.com/OBattler/86Box 2017-10-15 02:51:17 +02:00
OBattler
aca1449ac5 DYNAREC=n now also disables the Voodoo recompiler;
Fixed some Settings Machine page uglyness when the recompiler is disabled.
2017-10-15 02:50:26 +02: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
2dbf5409c0 Changes to allow for auto- or selectable Internal HD controller, and some other minor changes. 2017-10-01 16:29:27 -04:00
waltje
9d9f5fdd58 Separation of HDD (disks) and HDC (disk controllers) with major cleanup. IDE remains same until Kotori finishes that part. 2017-09-30 16:58:41 -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
OBattler
17d9c5c463 Fixed PS/2 mouse to PCI (PIIX) wiring, fixes recently introduced PS/2 mouse hangs;
The AT keyboard "write to mouse" command now returns 0xFF (error) when no PS/2 mouse is attached - fixes hangs on AOpen AP53, ASUS P/I-P55T2S, and Tyan Titan Pro/ATX when not using PS/2 mouse;
Fixed the emulation of the SMC FDC37C669 Super I/O chip - serial ports now work correctly on the AOpen AP53 and the ASUS P/I-P55T2S.
2017-09-07 01:52:36 +02:00
waltje
73ef17be9e Another major cleanup - folders for cdrom and floppy, renamed disc to floppy, renamed SuperIO stuff, others as needed. 2017-09-04 01:55:59 -04:00
OBattler
0ef876ef36 Various improvements to PCI and PCI boards. 2017-09-04 05:15:12 +02: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
OBattler
0d84add8a3 Extensively reworked the PCI bus emulation, fixes quite a few bugs, including incorrect IRQ routing for the last two slots on the Intel Advanced/ATX. 2017-08-30 04:49:20 +02:00
OBattler
979977b430 SIO/PIIX/PIIX3 turbo reset control as well as emulator hard reset now also reset the PCI interrupt hold status in addition to the ELCR. 2017-08-28 22:55:10 +02:00
OBattler
68e3a3d737 Improved PCI IRQ steering a bit and made the PCI IDE IRQ operation correct. 2017-08-28 16:53:53 +02:00
OBattler
d58eb9dac0 Redid the Buslogic IRQ raising function and fixed PIC level-triggered interrupt handling, fixes NT 4 and later on the BT-958D in level-triggered mode. 2017-08-27 23:57:47 +02: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
d9270aedb5 OK, now pci_irq_set() actually doesn't set the holding status if the IRQ is set to edge, I apologize for the mess up. 2017-06-22 07:01:50 +02:00
OBattler
2c2afdedd8 Fixed a missing parenthesis, fixes compiling. 2017-06-22 06:58:02 +02:00
OBattler
35575dcc7d PCI IRQ holding status is no longer set when the IRQ is set to edge (which is supposed to be when the IRQ is not shared). 2017-06-22 06:56:22 +02:00
OBattler
62a270c79f Fixed the PCI IRQ routing code so that it is aware of IRQ sharing. 2017-06-22 06:50:33 +02:00
OBattler
585c08d156 PCI turbo reset control and PCI initialization functions now reset the ELCR registers, the PIC, and the PCI IRQ statuses, fixes PCI cards being stuck unable to issue IRQ's after soft and hard resets. 2017-06-21 19:42:36 +02:00
OBattler
1e7668f1db Applied the recent mainline PCem commits (and fixed the Pentium machines);
Ported the Roland MT-32 emulation (using MUNT) from bit's MT32 emulation branch of PCem;
Sanitized the OpenAL give buffer code in openal.c a bit;
NVR path is now specifiable in the Settings dialog;
Added Logitech 3-button serial mouse per protocol description by waltje;
The RTL8029AS and the BT-958D now actually use the PCI IRQ routing;
Fixed BT-958D PCI device initialization on the bus;
PCI IRQ routing now respects the edge/level setting set on ports 4D0/4D1.
2017-06-19 06:46:08 +02:00
OBattler
224368b791 Added a second S3 ViRGE/DX card, this one with VBE 2.0 BIOS;
Added the ability to use a standalone MPU-401 if the selected sound card is not SB16 or AWE32.
2017-06-03 20:32:58 +02:00
OBattler
31a9b25465 The sbTips array is now set to all 0's on initialization so that the functions to create tips no longer mistakenly think the pointers are non-null due to unpredictable data, should get rid of the start/setting changes crashes. 2017-06-03 02:11:36 +02:00
OBattler
ec732312c3 Implemented PCI interrupt controller ports 4D0 and 4D1;
Applied more mainline PCem commits;
Repplied the CPU optimization commit alongside the fix commit.
2017-06-03 00:45:12 +02:00
OBattler
ab847fdecd Applied all the mainline PCem PCI commits;
Applied patch from James-F that makes the Sound Blaster filters more accurate.
2017-06-02 01:38:25 +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
b5710421b0 Fixed a typo in pci.c;
Attempt to fix the S3 linear framebuffer.
2016-11-05 03:33:01 +01:00
OBattler
0402908671 Made pci.c include <stdint.h> . 2016-11-05 02:21:39 +01:00
OBattler
72bf852e07 Some internal values in pci.c are now 8-bit, which should reduce the number of screw-ups;
ET4000/W32p PCI writes now sanitize the address first;
Removed excess logging related to the ET4000/W32p.
2016-11-05 02:19:15 +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