Commit Graph

  • 79c2450f76 ide: update DEVICE RESET to zero all but the one specific status bit. added NOP emulation to fail the command in a very specific way required by the ATA standard. Jonathan Campbell 2013-11-12 01:55:24 -08:00
  • 3e2e2064ff BIOS: IRQ 14 and 15 need to be associated with INT 0x76 and 0x77 Jonathan Campbell 2013-11-11 02:53:14 -08:00
  • b3f1b5a129 IDE: reduce ATA IDENTIFY DEVICE delay to 10us down from 1ms. Jonathan Campbell 2013-11-11 02:36:30 -08:00
  • 54f76d40fa ide: change IDE object to have host_reset_begin() and host_reset_complete() to better simulate driver reset via 3F6 Jonathan Campbell 2013-11-02 13:37:28 -07:00
  • 41481b3655 modify config file writer not to print the property name as a comment if there is nothing to say about it. Jonathan Campbell 2013-11-02 13:05:22 -07:00
  • 6445feb63d change dosbox property object to store help strings itself instead of through MSG_Add/MSG_Get (what were they thinking?). convert redundant IDE section code to a loop. Jonathan Campbell 2013-11-02 12:57:16 -07:00
  • 758a3ac450 ide: do not set any bits in WORD 48, we don't do 32-bit PIO yet Jonathan Campbell 2013-11-02 12:22:59 -07:00
  • 422a7f7406 remove "initializing vm86 fake I/O" message Jonathan Campbell 2013-10-29 23:38:45 -07:00
  • 93ff43f83a CPU normal: modify conditional jump macros to make them atomic--either they load the address and modify reg_eip, or they leave reg_eip as-is. This seems to resolve some crashes with Windows 98. Jonathan Campbell 2013-10-29 23:22:08 -07:00
  • fef86c2b3c cpu paging: if the pf_queue.used level goes beyond 1, it may be a recursive page fault and it may be a Win98 issue with DOSBox that the value never goes down. Jonathan Campbell 2013-10-29 23:21:35 -07:00
  • 1704c607ad DOSBox paging: error out if page fault queue exceeds array limit. Raise page fault queue limit. Minor cleanup. Jonathan Campbell 2013-10-29 15:21:43 -07:00
  • 4b0a059f79 IDE: De-clutter I/O by moving C/H/S and LBA auto-increment to one function. Clean up code, fix mistakes, that can cause Windows 9x to read/write the wrong data if more than one track's worth of data is operated on. Jonathan Campbell 2013-10-27 22:36:03 -07:00
  • 860379ae26 IDE: bugfix C/H/S address increment code NOT to assume 16 heads/track Jonathan Campbell 2013-10-27 13:31:32 -07:00
  • f2754af41a IDE: Copy-paste C/H/S out of bounds error message to the other READ command (whoops). Added code to severely reduce ALL IDE delays IF the command is "faked" by INT 13h (in other words if command was issued by virtual 8086 mode fake I/O code). Hopefully this will improve Win9x performance especially during Setup. Jonathan Campbell 2013-10-27 12:58:09 -07:00
  • ca5a9f0bb3 IDE: Reduce read/write delays. For multisector (meaning: READ commands with multiple sectors NOT READ MULTISECTOR), use the normal delay for only the first sector, then use an extremely small delay for the rest of the command. This makes Win95 OSR2 and Win98 more responsive. Jonathan Campbell 2013-10-27 12:41:56 -07:00
  • dac613735a IDE: remove #if 0 blocks Jonathan Campbell 2013-10-27 12:08:14 -07:00
  • e79ea93b32 IDE: change ATA IDENTIFY DEVICE to reflect an older drive Jonathan Campbell 2013-10-27 00:48:37 -07:00
  • a051baa72a IDE: Add fake I/O emulation for INT 13h AH=0x42 extended disk read. Assuming geometries match, this enables 32-bit disk access in Windows 95 OSR2. Jonathan Campbell 2013-10-26 22:40:02 -07:00
  • cbbd85c4d2 IDE: Update geometry from BIOS mapping code to warn the user if the geometry chosen cannot match the BIOS geometry cleanly, as that will prevent Windows 95 from enabling it's 32-bit IDE driver. Jonathan Campbell 2013-10-26 21:33:55 -07:00
  • 01882c80f3 IDE: If remapping comes out to using 255 heads/track, then use ECHS type mapping instead where we force heads=255 and sects=63 and cylinders=however many 63*255 blocks are available. Jonathan Campbell 2013-10-26 20:30:16 -07:00
  • cacfaf0b4c INT 13h: disk image code now correctly returns an error code instead of silently failing and returning random garbage if fseek() or fread() failed. IDE: more work Jonathan Campbell 2013-10-26 20:19:31 -07:00
  • a94e72ee86 ide: compensate for INT 13h code that counts sectors without regard for track boundaries Jonathan Campbell 2013-10-26 19:01:31 -07:00
  • 5e9476ebbb add -D_FILE_OFFSET_BITS=64 to enable support for files >= 2GB Jonathan Campbell 2013-10-26 17:08:33 -07:00
  • ad41dbfba0 add push-to-hackipedia script Jonathan Campbell 2013-10-26 15:38:51 -07:00
  • 991ba66e4b IDE: Don't announce ATA commands if we're sending them to ourself. I want the appearance of "ATA command" debug messages to be one sign that the OS is doing the IDE commands. Jonathan Campbell 2013-10-26 15:25:34 -07:00
  • 9e9a6957a5 IDE: add "initialize drive params" emulation (though it doesn't allow changing them) Jonathan Campbell 2013-10-26 15:21:01 -07:00
  • f4e450fe7a IDE: remove comments and debug messages, the LBA conversion is no longer untested. Jonathan Campbell 2013-10-26 15:02:38 -07:00
  • edd7131427 IDE: update geometry translation, add dynamic CHS -> LBA -> CHS conversion instead. This fixes the inability for Win95 to handle a test VM with a hard drive larger than 504MB. Jonathan Campbell 2013-10-26 15:00:24 -07:00
  • fd58f7956f IDE: replace *= 2 with left shift in geometry translation. Fix code to only do IDE fakery IF it's actually the drive in question. Jonathan Campbell 2013-10-26 14:15:25 -07:00
  • 3b1ea8ea08 IDE: uncomment more debugging messages. simplify geometry translation a bit (down to "shift head count by what now?"). Next to add: translate BIOS C/H/S given by notifcation so that Win95 can handle disks larger than 504MB. Jonathan Campbell 2013-10-26 14:08:17 -07:00
  • 5f4cb25315 IDE emulation: Added INT 13h fakery, "going through the motions" code. Added fixes to help fakery work in Win95. Success! Removed rude comments from top of source file. Jonathan Campbell 2013-10-26 13:56:32 -07:00
  • db5ef7de40 move force vm86 I/O init to bios stage Jonathan Campbell 2013-10-26 13:33:18 -07:00
  • e624ccc2ff change vm86 force I/O to generate code once then use lookup table. this works around the dynamic core's cachine and other weirdness. Jonathan Campbell 2013-10-26 11:46:03 -07:00
  • 5030504171 INT 13h emulation: add reminder to self that IDE I/O emulation needs to reflect geometry translation. Jonathan Campbell 2013-10-26 11:15:29 -07:00
  • 55abd9d907 DOSBox: add config param int13fakev86io Jonathan Campbell 2013-10-26 11:15:11 -07:00
  • 8a9cc1441d CPU: add code to force feed virtual 8086 mode fake I/O instructions Jonathan Campbell 2013-10-26 11:14:43 -07:00
  • 852248e22b IDE: Add option to enable/disable INT 13h "fake io" hack. Jonathan Campbell 2013-10-26 09:19:31 -07:00
  • e8fa35dbdc ide: uncomment out some of the debug messages. replace some abort_error() calls with abort_normal() reset but not error because some command emulation called it as a reset mechanism (like READ emulation). This helps reduce the signal/noise ratio when determining which IDE commands failed or were aborted. Jonathan Campbell 2013-10-26 08:49:37 -07:00
  • 1de311bdd9 more work Jonathan Campbell 2013-10-23 01:13:44 -07:00
  • a4594a4874 IDE emulation: reduce read/write command delay. Jonathan Campbell 2013-10-23 00:50:00 -07:00
  • 9235cee6cf IDE emulation: Added "write" command emulation. Added some diagnostic messages. I am happy to say that DOSBox-X with these changes is now able to run in full 32-bit disk access mode with our IDE emulation. I haven't seen any instability yet. Jonathan Campbell 2013-10-23 00:36:09 -07:00
  • b76782b0f6 int 13h emulation: call IDE code where, if disk belongs to IDE controller, the registers are hacked as if the BIOS had carried out IDE commands. IDE emulation: moved C/H/S counting up, so it only occurs if another sector is beginning to read. added code to hack IDE registers as if BIOS IDE read. To my amazement, IDE emulation now passes all tests given by Windows 3.11 Windows for Workgroup 32-bit disk driver WDCTRL, and Windows 3.11 is observed issuing IDE read/write commands on startup! Yay! Now if I could figure out what Windows 95 expects it would make my day... and I could remove my bitter sarcastic remarks from the source code. Jonathan Campbell 2013-10-22 23:21:09 -07:00
  • edbaa463af BIOS INT 13h emulation: on INT 13h disk reset, call IDE emulation to change drive state to emulate BIOS carrying out a disk reset function. IDE emulation: add disk reset INT 13h emulation. added code to set status to DISK_READY|SEEK_COMPLETE upon completing common functions. This succeeds in getting past some initial checks in WDCTRL in WfW 3.11 so far. Now all we need is for INT 13h "read disk" code to change IDE registers as well because WDCTRL "tests" for validity by executing INT 13h then reading back IDE registers. Jonathan Campbell 2013-10-22 22:41:10 -07:00
  • 251cc8acc0 ide: more guessing Jonathan Campbell 2013-10-21 07:56:37 -07:00
  • 32e0e40dde add mount option and support in INT 13h code for "reserved cylinder" emulation Jonathan Campbell 2013-10-21 01:30:58 -07:00
  • df522c2fa7 more Daum -> DOSBox-X fixup Jonathan Campbell 2013-10-20 22:22:20 -07:00
  • 5301ed74c2 restore the dynamic core. many things including Windows 95 are PAINFULLY SLOW without it! Jonathan Campbell 2013-10-20 21:15:47 -07:00
  • 0faef1dd05 remove silent_fprintf Jonathan Campbell 2013-10-20 20:06:52 -07:00
  • 30848ddc83 Replace DOSBox Daum with DOSBox-X Jonathan Campbell 2013-10-20 13:48:24 -07:00
  • 13eac5509a remove x86 FPU emulation Jonathan Campbell 2013-10-20 13:39:31 -07:00
  • 9ff87e2ef7 finished removing savestate code Jonathan Campbell 2013-10-20 13:35:13 -07:00
  • 822293dad4 remainder of save state code removed from h/w and system emulation Jonathan Campbell 2013-10-20 13:27:17 -07:00
  • 4bb858e8b1 more removal of save state code Jonathan Campbell 2013-10-20 13:01:10 -07:00
  • dc241b8a35 begin removal of loadstate/savestate from h/w emulation code Jonathan Campbell 2013-10-20 12:50:18 -07:00
  • 41c34b2a77 remove savestate code from ems/xms Jonathan Campbell 2013-10-20 12:35:27 -07:00
  • 3b339e2356 mouse.cpp remove savestate code Jonathan Campbell 2013-10-20 12:34:27 -07:00
  • 333c105b86 remove xBRZ entirely. remove ScalingEffect direct3d filter Jonathan Campbell 2013-10-20 12:29:14 -07:00
  • ee0f444b19 remove and rip out dynamic x86 core. DOSBox is noticeably slower now, but that's OK, we're going to restructure soon. Jonathan Campbell 2013-10-20 12:17:37 -07:00
  • d6f3d82f8b remove C_DYNREC dynamic core Jonathan Campbell 2013-10-20 12:03:12 -07:00
  • a77a5e33c9 remove linux.txt Jonathan Campbell 2013-10-20 11:50:54 -07:00
  • 706a99d24f remove and kill miniunz.c and minizip.c. the last of the zip/unzip code has been removed. Jonathan Campbell 2013-10-20 11:50:20 -07:00
  • 8ee98d1ee5 update voodoo.cpp to reflect that "glide" section no longer exists Jonathan Campbell 2013-10-20 11:48:39 -07:00
  • 8d0c565f85 remove zeroed out zip/unzip source files. remove Glide emulation and glide emulation files. Call an exercist to remove all references scattered through the source code. Jonathan Campbell 2013-10-20 11:42:07 -07:00
  • 77a857f9db kill save_state code, stub it out Jonathan Campbell 2013-10-20 11:28:49 -07:00
  • d3a7ccee70 remove all zip/unzip functions. stub the functions still needed by external code. Jonathan Campbell 2013-10-20 11:17:59 -07:00
  • 542384d345 change crossfade in DOSBox "GUI" to fade FASTER. The original code crossfades too slow. Jonathan Campbell 2013-10-20 11:17:21 -07:00
  • 3596034e01 remove mztools.c code, replace with stub Jonathan Campbell 2013-10-20 11:07:53 -07:00
  • d47ec32a96 remove miniunz.c code, leave stub Jonathan Campbell 2013-10-20 11:06:45 -07:00
  • a4d59ceb26 remove documentation dir, move README.video to toplevel Jonathan Campbell 2013-10-20 10:51:08 -07:00
  • 6727a01157 remove --disable-opengl from build scripts. typecast array entries in vga_other.cpp to get compiler to shut up about int to Bitu type conversion. Jonathan Campbell 2013-10-20 10:47:54 -07:00
  • ba37aa74af complete remove zeroed out files by removing reference to one of them from voodoo_emu.cpp Jonathan Campbell 2013-10-20 10:43:30 -07:00
  • 8e5b44083c remove zero-size files Jonathan Campbell 2013-10-20 10:39:38 -07:00
  • e3cccd0c71 wtf? Jonathan Campbell 2013-10-20 10:39:01 -07:00
  • aca04918fe OpenGL support removed. Voodoo emulation updated to remove all OpenGL calls and voodoo_ogl calls, leaving behind software rasterizer. Jonathan Campbell 2013-10-20 10:38:26 -07:00
  • ef487137fe remove more subtle features in games. stub out zip and minigzip code. Jonathan Campbell 2013-10-20 01:46:56 -07:00
  • 1fa8659300 remove drive_physfs.cpp Jonathan Campbell 2013-10-20 01:35:42 -07:00
  • cc936d898c remove empty files Jonathan Campbell 2013-10-20 01:03:40 -07:00
  • 093cfedb53 remove SDL_Sound support Jonathan Campbell 2013-10-20 01:02:14 -07:00
  • 4fdcba96c9 remove printer emulation Jonathan Campbell 2013-10-20 00:59:21 -07:00
  • 6d1bee6256 remove visualc platform code. remove Thread Building Blocks usage. Jonathan Campbell 2013-10-20 00:50:31 -07:00
  • f1e4e69b0c remove PHYSFS support Jonathan Campbell 2013-10-20 00:38:55 -07:00
  • 6c33ba4ba0 remove debug msg Jonathan Campbell 2013-10-16 00:50:01 -07:00
  • 21614b8c3f toss out my copy, integrate tawoongs's daum branch code into mine, remove what won't compile, begin work. Jonathan Campbell 2013-10-14 05:07:26 -07:00
  • 5722ec807e more work root 2013-07-07 20:49:48 -07:00
  • f331824031 port from svn root 2013-07-07 20:39:49 -07:00