Commit Graph

195 Commits

Author SHA1 Message Date
OBattler
a9c5ba1345 Rewrote the 86F handler's turbo mode sector present checking, reduces the emulator's RAM usage by about 330 MB. 2018-03-15 00:02:19 +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
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
381dd2376c Fixed the creation and exporting of thick track 86F images. 2018-03-05 23:35:01 +01:00
OBattler
6e823e6232 Added the Toshiba T1000 and T1200. 2018-03-02 19:33:02 +01:00
OBattler
ccb5fdf563 The Amstrad machines now initialize the correct FDC types;
Removed an excess logging line from keyboard_xt.c.
2018-02-02 20:42:50 +01:00
OBattler
4452b4e278 More bugfixes to the FDC SENSE INTERRUPT STATUS COMMAND, now PCjr, the MR 386DX BIOS, and Red Hat Linux 2.0 are all happy. 2018-02-02 19:50:38 +01:00
OBattler
cd5fc04c44 Numerous FDC-related bugfixes. 2018-02-02 18:39:48 +01:00
OBattler
a756f3c5e1 The FDC SENSE INTERRUPT STATUS command now once again returns bad command if neither FINTR nor reset stat are set and the FDC is not in PCjr mode, fixes Red Had Linux 2.0 hang. 2018-02-02 05:34:39 +01:00
OBattler
e3f325f322 Removed excess FDC logging. 2018-02-02 05:19:41 +01:00
OBattler
5acf6483a6 Reduced FDC RECALIBRATE and SEEK timings when the FDC is in PCjr mode, made the SENSE INTERRUPT STATUS command no longer stop the in progress RECALIBRATE or SEEK, and fixed the FDC data ready flag in non-DMA mode, fixes floppies on PCjr. 2018-02-02 04:54:35 +01:00
OBattler
8e6497f01d Added the "New Floppy Image" functionality with its own dialog box, can create 86F, Japanese FDI, and IMG images;
The settings dialog now keeps track of MFM/XTIDE/ESDI/IDE channels and SCSI ID's and LUN's;
The IBM PS/2 Model 50 now installs a Model 80-style memory expansion card (MCA ID FCFF) when more than 2 MB RAM is selected, and now supports a maximum of 10 MB RAM.
2018-01-19 15:39:13 +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
waltje
69186cfb54 Fixes, mostly dma.c argument type changes. 2017-12-15 21:20:56 -05:00
OBattler
cf67c2a1a9 Removed fdi_init() and fixed joystick_process(). 2017-12-15 04:59: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
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
waltje
c7946fbce7 Fix logging issues. 2017-12-10 02:54:20 -05:00
waltje
3f640fd0c5 Fixed logging oopfie in fdc.c, next cleanup in InPort. 2017-12-09 01:04:10 -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
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
waltje
354b49d354 Re-integrated the Amstrad machines. 2017-11-08 16:30:13 -05:00
waltje
2955a5d824 Fixed video card init order.
Re-added the TI CF62011 SVGA controller, used by PS/1 and some PS/2 machines.
2017-11-05 20:43:16 -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
0af26c1c3b More cleanups, also updated Makefile.local with all "user-settable" parts. 2017-10-19 21:08:41 -04:00
waltje
7f24ba9fe9 Another cleanup run. 2017-10-17 02:01:03 -04:00
waltje
3572f7a34d Minor fixes for C/C++ inter-operation. 2017-10-16 04:54:57 -04:00
waltje
c1abfe2362 Another cleanup. VNC now has fixed blitters, so 8bit cards (vga,mda,herc et al) work. More cleanups with the %ls stuff, cleanup of threads modules, and MOVED THE MAKEFILE to win/. 2017-10-14 20:04:42 -04:00
waltje
3453a66f16 Video (API) cleanup and minor stuff. Oh, and the VNC files :P 2017-10-14 13:38:05 -04:00
OBattler
6eb9404d04 Fixed a bug in image_open() that was causing CD-ROM image paths to get reduced to one character on init;
Also made the code that prints floppy image file on load use %ls.
2017-10-14 09:19:17 +02:00
waltje
e9bd160ad1 More general cleanups and bugfixes. 2017-10-13 02:45:04 -04: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
bd89e66b7b Separated main code from UI and PLATform support code, plus other generally small fixes here and there. 2017-10-10 03:16:59 -04:00
OBattler
02bbfb26eb Timers are now 64-bit. 2017-10-09 01:48:36 +02:00
OBattler
05e3dbbb48 Added three NCR5380-based SCSI controllers (in dev branch);
Two-phases SCSI disk write direction commands (needed for the NCR5380);
Renamed cdrom_ioctl.c/h to win_cdrom_ioctl.c/h and moved them to win/;
Moved some CD-ROM and floppy initialization blocks to the appropriate files.
2017-10-08 05:04:38 +02:00
OBattler
15da0022bb Fixed a few warnings and the FluidSynth device stuff. 2017-10-07 16:45:54 +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
633adc6b02 Another big change, this time to the NVR. It has been re-done, integrated with the RTC code, and is now ready to be used by other, non-AT-compatible systems, including an ISA card for PC/XT. 2017-10-03 16:28:26 -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
waltje
637ce66da2 First phase of cleaning up the use of pathnames internally. We now have the --vmpath (short: -P) commandline option to override the 'work dir' relative to which the program will try to find certain files and folders. 2017-09-23 21:12:37 -04:00
waltje
aea3b1e34f Removed debug from JSON driver. Updated AT MFM (WD1003) driver to properly operate with Microport SysV/AT. Optionally remove the IDE controllers from teh 286's (#if WALTJE for now) as those machines did not really have IDE, but the WD1003 or an ESDI controller at best. 2017-09-18 03:58:52 -04:00
OBattler
6fa2d64f8e PS/2 mouse now correctly returns 0xFE on bad command;
The FDC now correctly turns off the drive icon's activity light on finishing the READ SECTOR ID command;
Pentium, i686, and some 486 machines now have realistic (per their documentations) minimum and maximum RAM sizes and RAM granularities.
2017-09-15 17:54:01 +02:00
waltje
c430ea0b0f Adding PCjs's JSON diskette format. Read-only mode ONLY (for installation disks.) 2017-09-13 01:59:55 -04: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