1
0
Fork 0
Commit graph

697 commits

Author SHA1 Message Date
Peter Veenstra
ad88f982c0 Add some size checks when accessing Drives[], mostly needed when DOS_DRIVES is not set to 26, make size parsing not go outside the target array.
Let's not try to assign a drive in the switchlist to a too high number.
Don't access imagelist for drives >D when unmounting. 


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4239
2019-06-25 06:12:13 +00:00
Peter Veenstra
e90de61263 Create fopen_wrapper so we can filter out specific directories, which DOS games should have no access to
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4238
2019-06-24 20:09:59 +00:00
Peter Veenstra
f8dd3db095 Add functionality to add overlay directories to drive_cache.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4216
2019-04-22 14:21:53 +00:00
Peter Veenstra
eb26b9a58e Change first_shell to be DOS_Shell instead of Program. Makes future manipulations easier.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4211
2019-04-20 13:48:55 +00:00
Peter Veenstra
dc6a76d354 Store whether generated code is 16 or 32 bit, so this information can be used when checking for self modifying code. Some code is identical except for being 32 or 16 bit. Fixes some hard to reproduce problems (with small codeblocks). Thanks jmarsh!
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4206
2019-04-19 12:16:14 +00:00
Peter Veenstra
c03a6f497c We use the old style headers in other places and use the functions/types without std::
Should help compilation on FreeBSD.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4203
2019-04-06 17:02:40 +00:00
ripsaw8080
3978e05909 Improve prefetch and simple cores to not switch to normal core on trap execution. Fixes the demo version of Prehistorik 2 and similar cases that use the trap flag and prefetch tricks. Thanks NewRisingSun.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4201
2019-04-01 22:06:11 +00:00
Peter Veenstra
4a1ef4d3d7 Refine stack overflow and underflow for the fpu a bit.
Overflow is still treated as Exit.
Underflow is ignored in release mode as it happens every now and then and doesn't seem to cause issues if ignored, thus restoring 0.74 behaviour.



Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4199
2019-04-01 14:32:18 +00:00
Peter Veenstra
202bfa1155 New Drive type: overlay.
When active, this drive redirects new and changed files to a different location.
The files in the overlay and normal drive are merged on startup and kept up to date when the game changes something. 
Files in the overlay are priotizedi, if they exists, above the normal files. 
The drive will switch to an overlayed version of the file on the first write! (Not when opening the file in write-mode).
The overlay is capable of creating missing directories.

With the help of DBOVERLAY files, the drive keeps track of files that are present in the normal directory but deleted by the game. 
All changes are preserved between sessions. 

Current design principles/limitations/requirements:
1) All directories that can be used for saving, must exist already in the base before mounting. (they will be created by DOSBox if missing in the overlay)
2) All filenames inside the overlay directories are UPPERCASE and conform to the 8.3 standard except for the special DBOVERLAY files.
3) To keep point 1 valid at all times, support for creating/renaming/removing directories has been disabled.

Thanks for the help GOG.


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4196
2019-03-25 13:49:25 +00:00
ripsaw8080
64d25c4be4 Acknowledge mouse interrupt before entering user routine; fixes sound stutter during mouse movement in Eye of the Beholder III and Casino Tournament of Champions. Clear button counters in the mouse driver reset function; prevents unintended skipping of intro in MechWarrior and others.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4188
2019-02-04 15:15:58 +00:00
Peter Veenstra
fdd8358de7 Make feature checks consistent, include right header for memset, correct one off error in paging table size compare for when not using USE_FULL_TLB (jmarsh)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4185
2019-01-28 14:26:19 +00:00
Peter Veenstra
1fbaff47fc Update year and address of FSF
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4183
2019-01-25 14:09:58 +00:00
Peter Veenstra
cf85eb0d9b Remove file that has not been used in a long time
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4181
2019-01-25 09:31:50 +00:00
ripsaw8080
e0a7ede037 Don't generate sound after DMA is masked at end of single-cycle transfer. Prevents issues with some games.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4176
2018-11-23 21:55:12 +00:00
Sjoerd van der Berg
3bde40bc91 Make a dma channel go masked when it reaches end of count without autoinit
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4175
2018-11-19 22:02:13 +00:00
Peter Veenstra
f522e81d32 Quick fix for dma channel 0 having no page porthandler.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4165
2018-09-29 16:17:36 +00:00
ripsaw8080
66b813ef9c Support some installer disk detection methods: block device count, and specific MBR/boot sector contents. Fixes (original) SimCity, Amberstar, and later MicroProse installers.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4120
2018-06-21 17:46:52 +00:00
Peter Veenstra
5bb10db88b Time keeps on ticking
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4109
2018-05-29 12:58:58 +00:00
Peter Veenstra
54c993669a Strip spaces properly. Fixes bug #480
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4100
2018-05-06 19:34:22 +00:00
ripsaw8080
630b9befb5 ANSI emulation is activated for the session when an escape sequence is encountered other than those used by internal messages. Fixes LucasArts setup programs (Bug #458) provided that ANSI emulation is not activated.
Compatible scroll fill for ANSI emulation.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4097
2018-05-03 16:49:48 +00:00
Peter Veenstra
ae683cd794 Remove exception specifiers as they are depreciated. Remove some trailing spaces and add some spaces for readability.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4079
2018-02-17 15:16:44 +00:00
Peter Veenstra
21a0040650 Move definition of LocalFile to header file, requested by bruenor41, makes sense to make it available at a larger scope.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4058
2017-10-10 14:21:31 +00:00
ripsaw8080
4aa821d0e6 Implement waiting for retrace in VBE functions. Remove range checks in protected mode functions, consistent with UniVBE and other VBE implementations. Fixes hang and graphics glitches in Jack Orlando.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4048
2017-09-10 11:29:34 +00:00
Peter Veenstra
6cf39c1fc6 Years update
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4021
2017-05-30 11:35:08 +00:00
ripsaw8080
d6e983b08d Handle errant IRQs as a real BIOS does. Fixes Tandy DAC in Chuck Yeager's Air Combat. Also remove r3263 workaround, as it's no longer needed.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4009
2017-05-01 15:32:29 +00:00
Sjoerd van der Berg
271d8cffa6 Updated header for mixer changes
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4003
2017-01-04 08:35:10 +00:00
Peter Veenstra
07f461da7e Clip to boundaries when there are no suggested values for Prop_int. Revert r3986 as this commit fixes the problem in a different way.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3996
2016-09-20 14:57:46 +00:00
Peter Veenstra
5e4b1c8284 Raise lower limit of cycles in autodetermine mode to improve stability. (lsl7)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3991
2016-08-10 12:07:43 +00:00
ripsaw8080
64a04b9985 Be more compatible by converting tabs to spaces in the DOS console device rather than in the video BIOS teletype function.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3983
2016-05-23 11:33:09 +00:00
ripsaw8080
2b32f2bfa9 Prevent problems related to I/O buffering with disk images.
Return a fake success result for INT 13/05. Helps older games (Sierra On-Line booters, Mickey's Space Adventure, Zyll, et al.) that insist on low-level formatting a floppy disk to be used for saving games.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3980
2016-04-18 13:07:18 +00:00
ripsaw8080
7de4631055 Increase size of SysEx buffer to support Sierra's Yamaha FB-01 driver.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3963
2016-02-09 18:19:45 +00:00
Peter Veenstra
59805112d9 Use record size of 128 if it is 0 in the FCB when calling INT 21 AH=23 (fixes bug #433).
Set record size to 128 if it is 0 in the FCB when calling any FCB read/write function (ripsaw).
Fixes for acad 10:
- Add missing reference counting when the file is already open when calling FCB_Open, so that acad which uses FCBs and normal handles on the same file works better.
- Remove FCBs being added to the PSP filetable and rewrite most functions to support this change. This way acad won't run out of temporary (fcb) files when low on memory.


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3962
2016-02-09 14:12:05 +00:00
ripsaw8080
26dd1635b5 Add support for Print Screen key and interrupt. The keypress allows Descent 1 and 2 ingame screenshot feature to be used, the keypress and interrupt allow the Horror Hotel (TSR text adventure) hotkey to work, and the compatible interrupt handler location fixes a game bug in The Forgotten Land.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3961
2016-02-05 13:41:22 +00:00
ripsaw8080
dc4aabb403 Correct some offsets in the DTA for FCB-based search results. Fixes DIR listing in COMMAND.COM from MS-DOS and file info in XTree Gold.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3955
2015-12-21 17:14:42 +00:00
Peter Veenstra
76a04f0807 Fix bug #395 DOSBox can't handle double-quoted values in dosbox.conf files.
Extend the fix to include single quoted values.
Fix a common typo: Separator => Separator


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3950
2015-10-20 17:06:29 +00:00
Peter Veenstra
b2bcdaf1ef Fix bug #349 dynrec endianness unsafe access to Segs.val[x]
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3949
2015-10-20 16:19:45 +00:00
Peter Veenstra
39875d92da Add call to clear out some more fields, needed for fcb name parsing.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3938
2015-09-30 14:24:49 +00:00
ripsaw8080
babb297c60 Add opl3gold option to oplmode setting. With this option the AdLib Gold music can be selected in Dune. Only FM music without effects (reverb, stereo enhancement, surround sound, etc.) is supported; and FM volume control, used in the CD-ROM version of Dune, does work.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3936
2015-09-20 23:39:55 +00:00
Peter Veenstra
79419f1f53 Bring OS2 port up to date. Thanks Jochen
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3923
2015-07-08 12:01:33 +00:00
Peter Veenstra
7e22a0f0c0 make variable types used in swapping consistent and use Bit8u for drives.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3917
2015-06-05 13:22:37 +00:00
ripsaw8080
b293cfa044 Improve compatibility of internal mouse driver with respect to video mode changes and hiding the pointer, and handle font reloading as a kind of mode change. Also fix unlocked mouse pointer to recognize the full range of tweaked/fontloaded text modes.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3914
2015-05-13 02:26:37 +00:00
Peter Veenstra
b81c813b87 Initialise all fields when constructing, fixes unintentional value reuse with Prop_multival.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3890
2015-01-09 15:00:18 +00:00
Peter Veenstra
0f4c92ca32 Year update.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3878
2015-01-06 14:40:32 +00:00
Peter Veenstra
b54aa7c5ba TOP is used as 32 bit in dynrec core
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3854
2014-01-12 12:36:13 +00:00
Peter Veenstra
3701512a16 Rework ListMidi so it can be more easily added to more backends.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3835
2013-10-18 11:53:11 +00:00
Peter Veenstra
967524cd76 Clean up
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3818
2013-02-14 15:00:55 +00:00
Peter Veenstra
556ff13f87 make RealHandle inline to silence some unused warnings
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3814
2013-01-27 16:54:22 +00:00
Ralf Grillenberger
81226995de Add support for monochrome mode:
- EGA and VGA mode 0x0F (implement plane masking in the attribute controller)
- re-factor EGA monitor emulation (attribute controller bit is used to detect monochrome mode, horizontal frequency to choose 16/64 colors)

Hardware blinking in graphics mode is still not supported.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3813
2013-01-26 22:01:32 +00:00
Peter Veenstra
2fea508f7f Year update
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3812
2013-01-15 09:03:13 +00:00
Peter Veenstra
0adea40353 remove unused defines
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3793
2012-08-11 17:47:08 +00:00