1
0
Fork 0
Commit graph

4163 commits

Author SHA1 Message Date
Peter Veenstra
e723355b92 Silence a warning
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4225
2019-05-06 10:27:11 +00:00
Peter Veenstra
b326adff06 Remove c++ 11 isms
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4224
2019-05-06 10:23:11 +00:00
Peter Veenstra
dfce234cfb Fix unitialized access to some isoDrive fields. Pause audio before switching. Use right subunit with multiple CDs on one driveletter. (krcroft, jmarsh and qbix)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4223
2019-05-06 08:37:53 +00:00
Peter Veenstra
2aaa951fd4 Rewrite pop_ev so it can trigger pagefaults again. Fixes win3.11. (jmarsh)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4219
2019-04-26 14:06:11 +00:00
ripsaw8080
701663b574 Use a more compatible offset for DOS redirected interrupt vector. Works around a null pointer bug in the notes dropdown list of Jack the Ripper.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4218
2019-04-23 09:50:56 +00:00
Peter Veenstra
1d01c8d151 Add experimental code to have overlay only directories. Add ability to remove directories and create them while in overlay mode.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4217
2019-04-22 14:57:24 +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
ripsaw8080
139456b2d0 Make effect of I/O delay more consistent as cycles run out. Prevents flickering in NBA Jam Tournament Edition at higher cycles, and also improves automatic speed limiting in Quake.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4215
2019-04-20 22:59:42 +00:00
ripsaw8080
911cc38865 Add logic in mouse driver to ignore button events that are out of sequence. Fixes International Rugby Challenge when clicking to lock the mouse.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4214
2019-04-20 22:50:31 +00:00
ripsaw8080
bbea47d541 Let dynamic core recompile interrupt instructions in non-debug builds. Can help software with many INTs, such as compiled BASIC, run faster.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4213
2019-04-20 22:43:36 +00:00
Peter Veenstra
bec0e79890 Don't remove bytes from autoexec.bat when changing settings from autoexec.bat, but replace them instead. This way the location stays valid.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4212
2019-04-20 13:55:35 +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
8a156f17d8 fix limit check
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4210
2019-04-20 11:49:59 +00:00
Peter Veenstra
6b0f8d6833 Strip leading = from value. Can happen if you execute "irq =5".
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4209
2019-04-19 19:28:55 +00:00
Peter Veenstra
5c8e9264d1 stop storing raw modrm value, as it isn't used any more. Should save an instruction on each get_modrm call.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4208
2019-04-19 17:07:26 +00:00
Peter Veenstra
ea4dd721b5 use decoded modrm instead of raw value. so we don't need to store it.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4207
2019-04-19 17:05:47 +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
ee2d3e73ce Unify unmounting code. Fix unmounting of complex drives where parts were left and file pointers were kept open. (thanks jmarsh)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4205
2019-04-11 15:48:04 +00:00
ripsaw8080
8688dc9702 Add IBM signature in EGA video BIOS for compatibility. Fixes EGA detection in 221 B Baker Street. Also include trailing space in signature in case it is checked with word values.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4204
2019-04-08 21:13:00 +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
Peter Veenstra
111fa1d45b Check lengths before adding C style strings together. Fixes #498
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4202
2019-04-03 10:31:52 +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
687e3cf058 Ensure room before adding environment variable using set. Noted when running a subshell under NC.
Bug left: we don't have a lot of environment space in that case (not the 160 minimum).


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4200
2019-04-01 16:50:49 +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
c9c97f13af Correct bug related to signedness (M-HT).
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4198
2019-03-31 18:06:27 +00:00
Peter Veenstra
94113a7362 Change multi_remain to repeat last parsed value for non-string types if the next value is empty and of the same type as the last.
Use this to add an optional parameter to sensitivity which controls the y axis. When optional parameter is missing, x and y axis have the same value.
Change limits on sensitivity to allow for negative values so the Mouse Y-axis can be inversed. Similar to patch #276.


Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4197
2019-03-29 20:47:57 +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
Peter Veenstra
d137ec5c0d Fix up DOS_Drive_Cache::GetShortName, used by overlay drive.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4195
2019-03-21 15:56:15 +00:00
Peter Veenstra
8d1c5b31e1 fix loading of configfiles specified with -conf but present in the userdir with -userconf present.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4194
2019-02-28 13:14:21 +00:00
Peter Veenstra
a3635e22af Repair double slash in configfile location on Macs. Add some protection against a NULL dirp.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4193
2019-02-28 13:03:22 +00:00
ripsaw8080
7f7e5f34ac Ignore unrequested data in intelligent mode; fixes Roland sound in Krusty's Fun House.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4192
2019-02-21 14:53:31 +00:00
ripsaw8080
45f28b12bd Only standard 3-byte mouse data packets are supported, so return an error for other packet sizes. MS Mouse driver versions 9.X and later use 1-byte packets for some obscure reason, and now they won't load instead of messing up.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4191
2019-02-04 15:27:26 +00:00
ripsaw8080
88bc1944e8 Reset followed by switch to UART mode should take some time; fixes MPU detection in F29 Retaliator and Hover Force. Also minimize reset delay, which helps with MPU detection at higher cycles in games that prefer less delay, such as Bureau 13.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4190
2019-02-04 15:18:49 +00:00
ripsaw8080
4d35f0ef27 Correct relative track length in subchannel data for CD-ROM images; fixes speech audio cutting off too soon in Casino Tournament of Champions.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4189
2019-02-04 15:16:55 +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
ripsaw8080
d4c38121c9 Implement timer 2 output on port 61h; fixes SB detection in Abaron. Also implement port 62h with timer 2 output for CGA and Hercules machine types; fixes Frank Bruno's Boxing and Math Maze.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4187
2019-02-04 15:11:50 +00:00
ripsaw8080
014326476f CMOS equipment list startup display mode bits differ from BIOS on EGA/VGA; fixes Sauro.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4186
2019-02-04 15:09:56 +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
4e88b1eb2c Do it for both read-only modi
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4184
2019-01-25 14:34:47 +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
2327f92db9 Here as well
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4182
2019-01-25 10:08:06 +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
Peter Veenstra
d55c6a03ed This order works better for when other headers change.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4180
2018-12-28 12:19:13 +00:00
Peter Veenstra
b899da315d use right field when dealing with joysticks. use enum instead of magic value (ny00123)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4179
2018-12-28 12:18:12 +00:00
Peter Veenstra
c9f79add62 no bilinearing filtering on exact multiples
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4178
2018-12-17 19:22:30 +00:00
Peter Veenstra
f5e4b9205f Add workaround for the problem of locking the mouse in windowed mode with X.org 1.20.1. (thanks to DosFreak and ny00123 for their help with testing and debugging)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4177
2018-12-11 15:45:37 +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
Sjoerd van der Berg
72f8544723 Make autoinit exit work and prevent double single cycle transfers when quitting autoinit
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4174
2018-11-19 18:34:49 +00:00
Peter Veenstra
9ffb5627aa Add ripsaws one line patch to fix bug 488
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4173
2018-11-17 13:29:02 +00:00