Commit Graph

809 Commits

Author SHA1 Message Date
Jonathan Campbell
4e93e049db pull mainline script... except my copy of git doesn't like. oh well. 2015-01-25 20:45:47 -08:00
Jonathan Campbell
d250831bbe change default DSP busy write time to 1000ns (1us). I'm starting to
wonder if certain early demos are having problems keeping single-cycle
going because our delay is too long...
2015-01-25 00:52:07 -08:00
Jonathan Campbell
5ec6c54341 VS2008 changed a .suo, whatever 2015-01-22 00:33:04 -08:00
Jonathan Campbell
5ee436a321 oops, var scope fixes for VS2008 DOSBox-X-win32-5ee436a321785d455355f9d25aa4e9fc98b90500 2015-01-22 00:19:12 -08:00
Jonathan Campbell
2d9a67e96a expand scaler max width to 1920, to make 1920x1080 modes work 2015-01-21 02:50:26 -08:00
Jonathan Campbell
652f302628 add HDTV resolutions to modelist as well as 720x480. 2015-01-21 02:39:30 -08:00
Jonathan Campbell
623f5b0bd7 move int10 mode flags into header 2015-01-21 02:14:05 -08:00
Jonathan Campbell
0e7aa38586 add configuration option to disable/enable low-resolution VESA modes.
this option can be used to test what DOS games and demos will do on SVGA
hardware that offers SVGA graphics modes (640x400x256 and above) but not
the low resolution modes (320x200x16/24/32bpp).
2015-01-21 02:10:00 -08:00
Jonathan Campbell
f93b8e2bb4 ok, NOw the comment is complete 2015-01-19 02:25:10 -08:00
Jonathan Campbell
b6a6f5f12c add commentary explaining why the code enables A20 on Windows 3.1 INIT,
and a more recent discovery that Windows 3.1 Standard mode (for 286)
uses a different callout that this code is not prepared to handle, and
how to work around it.
2015-01-19 02:23:44 -08:00
Jonathan Campbell
cb3bdf0671 It turns out Windows 3.1 so far has never set the A20 gate on until
later in startup, but that it happened to work because the default
setting is a20=fast (remap the first 64KB at the 1MB mark to fake A20).
When you set a20=mask, the initial assumption that A20 is on causes
Windows to crash because A20 is off.

This hack adds an option (on by default) that switches on the A20 line
in response to the INIT broadcast message that Windows 3.1/9x emits at
startup, which then allows Windows 3.1 to boot properly with a20=mask.
2015-01-19 01:46:29 -08:00
Jonathan Campbell
e19e63d48d XMS: A20 local enable/disable refcounting, instead of blind
enable/disable like original code. This makes LOCAL ENABLE/LOCAL DISABLE
act in accordance with the XMS 3.0 specification. Also noted: Windows
3.1 does not boot properly when a20=mask because at some point it
assumes A20 is enabled when it is not (prior to it's calls to enable
A20), thus: crash.
2015-01-19 01:35:54 -08:00
Jonathan Campbell
785bfd6805 whoops, all help text for FDC should only assign to the first instance 2015-01-18 21:38:50 -08:00
Jonathan Campbell
cd27b7bfb4 add configuration option: if set, VGA emulation will not trigger DOSBox
resize if value written to Horizontal Display End register of the CRTC
is smaller than the current value. This prevents rapid resizing events
when running DoWhackaDo. This also helps DOSBox to properly display the
entire active region where the VGA resize delay hack would often cut off
the rightmost 16-32 pixels of the demo's animation.
2015-01-18 18:59:25 -08:00
Jonathan Campbell
96ccf6cbc4 move options into Control object. move argv parsing to subroutine. 2015-01-18 18:28:45 -08:00
Jonathan Campbell
4491cce008 option for ISA memory hole at 512KB 2015-01-18 17:41:32 -08:00
Jonathan Campbell
1e3b141298 when limiting DOS memory also unmap that RAM 2015-01-18 17:31:09 -08:00
Jonathan Campbell
b9dac6d8fb add option to limit DOS conventional memory 2015-01-18 17:22:16 -08:00
Jonathan Campbell
88bb074c19 NE2000: future plans 2015-01-18 14:41:45 -08:00
Jonathan Campbell
a5563f4caa reminder to self 2015-01-18 13:58:50 -08:00
Jonathan Campbell
026cc70fb2 print help and version to STDERR not STDOUT 2015-01-18 13:45:23 -08:00
Jonathan Campbell
7b90ef167a CMOS date forced host option converted 2015-01-18 13:44:22 -08:00
Jonathan Campbell
071cab3299 convert remaining argv switches to new getopt code 2015-01-18 13:41:21 -08:00
Jonathan Campbell
5e331025c6 accept -disable-numlock-check and -disable_numlock_check as same option,
for compat. with mainline DOSBox
2015-01-18 13:32:11 -08:00
Jonathan Campbell
52b217caf8 numlock check 2015-01-18 13:30:27 -08:00
Jonathan Campbell
800dacb916 userconf, conf, savedir options 2015-01-18 13:26:31 -08:00
Jonathan Campbell
e082494d98 more getopt parsing loop code. 2015-01-18 02:23:31 -08:00
Jonathan Campbell
88b1b44cb4 new "getopt" style parsing (but as a "get argv" type loop). 2015-01-18 02:16:32 -08:00
Jonathan Campbell
a945c8ca57 start to lean towards passing a param list to this command line utility
function, terminating the array with NULL instead of "".
2015-01-18 01:10:26 -08:00
Jonathan Campbell
01536c38fc process --help and --version BEFORE full initialization 2015-01-18 00:04:45 -08:00
Jonathan Campbell
11f95ec0e6 remove try block in main(), it's time to unwrap the layers of C++
exception handling to help cleanup the code.
2015-01-17 23:45:57 -08:00
Jonathan Campbell
1596f3c8d4 same debug option for EMS memory. 2015-01-17 22:49:48 -08:00
Jonathan Campbell
8f83cc514a correct help text 2015-01-17 22:12:42 -08:00
Jonathan Campbell
a7a97727c1 debug option: if enabled, XMS memory allocation will always zero the
region first (same as INT 21h memory allocation).
2015-01-17 22:09:55 -08:00
Jonathan Campbell
369eea9f41 debug/helper option: add new option that, if set, zeroes memory blocks
returned by INT 21h prior to returning the block to the application.
This option is intended for DOS games or demos that may have problems
with uninitialized variables in the DATA or STACK segments. At the very
least, it helps prevent the vectorball part of Second Reality from
crashing.
2015-01-17 03:35:57 -08:00
Jonathan Campbell
197baf127a turn DOS CON alternate behavior into user-configurable switch, with
explanation.
2015-01-16 00:16:09 -08:00
Jonathan Campbell
678e1cf427 dosbox scandisk-friendly CON hack: check readcache to be consistent with
the rest of the emulation.
2015-01-16 00:07:19 -08:00
Jonathan Campbell
e8d3794045 oops, fix FDC DMA range check 2015-01-15 23:50:56 -08:00
Jonathan Campbell
a54b78d459 FDC emulation: register as ISA PnP BIOS device if enabled in dosbox.conf
IDE emulation: if we restrict ourself to 0x3F6-0x3F6 to make room for
floppy controller, then indicate so in the PnP BIOS device entry.
2015-01-15 23:44:32 -08:00
Jonathan Campbell
654b5f986d fdc head stepping, some tracking 2015-01-10 03:00:34 -08:00
Jonathan Campbell
3265fb8ebd FDC emulation: "instant mode" now has meaning, and affects the
seek/calibrate commands. if instant mode is set, the head is instantly
moved, else, delays are used to simulate motor stepping delays.
2015-01-10 02:42:15 -08:00
Jonathan Campbell
93e6586e90 suggested switch consolidation in VGA scanline check. 2015-01-10 01:21:13 -08:00
Jonathan Campbell
9e21731799 reminder to self about future changes to GUS emulation 2014-12-28 23:31:27 -08:00
Jonathan Campbell
5e9a21a2bd some cleanup with help from truth5678 2014-12-28 22:23:36 -08:00
Jonathan Campbell
a2f1d9c376 code mistake fix: assign zero axis position to both virtual joysticks,
not just the first. [truth5678]
2014-12-28 01:24:01 -08:00
Jonathan Campbell
c8114cb9e0 FDC: always set IRQ pending even if IRQ masked off. watch IRQ enable to
activate IRQ if pending but was masked. reset ST0 register on FDC reset.
2014-12-26 22:02:21 -08:00
Jonathan Campbell
a471fda2d0 bugfix: FDC Sense Interrupt command needs to clear IRQ if pending, and
return error code if no IRQ pending. This fixes Norton Backup causing
Windows 3.1 to hang in an endless loop hitting the FDC controller with
"Sense Interrupt Status" commands when you click "Add device".
2014-12-26 21:19:03 -08:00
Jonathan Campbell
a2ebd029ea whoah, big mistake. floppy controllers use DMA channel 2, not 1! 2014-12-24 12:52:34 -08:00
Jonathan Campbell
8b7a53743e more DOSBox-X-win32-8b7a53743e4a11a10def6bc9a5975a5f1c35e165 2014-12-23 03:02:24 -08:00
Jonathan Campbell
15844c1cde change std::min to MIN() macro. additional fixes to compile with VS2008
again.
2014-12-23 02:49:17 -08:00