1
0
Fork 0
Commit graph

850 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
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
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
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
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
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
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
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
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
ripsaw8080
d0ecdf85b2 Allocation Info works for CD-ROM drives. Fixes Bureau 13 installer.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4172
2018-11-16 22:39:24 +00:00
ripsaw8080
07c2d06ae5 Add Unit Number and Bytes Per Sector fields for DPB entries. Fixes Air Power installer and Windows 3 Virtual Memory dialog.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4168
2018-10-11 15:05:28 +00:00
ripsaw8080
c3aca8dc44 When searching CD-ROM directory entries, strip trailing period of extension-less filenames after stripping file version number and separator. Fixes disc check in Air Power.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4167
2018-10-11 14:58:18 +00:00
ripsaw8080
52d5501842 Disable UMB on PCjr machine type; fixes broken MCB chain. Remove 128k PCjr faking from r2417 that was effectively disabled by r3420.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4164
2018-09-27 20:07:06 +00:00
Peter Veenstra
2f09b52de8 Fix typos reported by lintian and change DosBox to DOSBox.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4161
2018-09-14 19:53:55 +00:00
ripsaw8080
2ec871f0e1 FAT drive fixes and improvements. Identify floppy format, and support filesystems that use only part of the disk. Fixes Make Your Own Murder Party and Music/Pinball Construction Set.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4130
2018-07-10 16:05:17 +00:00
ripsaw8080
be146f5c44 Improve disk image mounting: cycle disks only for the drive being mounted, make B: drive usable for BIOS access, and be insensitive to the order that drive letters are mounted.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4129
2018-07-10 15:51:16 +00:00
ripsaw8080
30ef5aefe9 Fix GetLabel() for the virtual drive.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4128
2018-07-10 15:38:55 +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
ripsaw8080
1afaf28921 Make Media ID table relative to DPB table. Fixes Hattrick by Ikarion.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4116
2018-06-12 20:52:08 +00:00
ripsaw8080
ff8d4f287f More improvements for IOCTL generic block device request
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4115
2018-06-12 20:18:42 +00:00
ripsaw8080
31d7e74eac It is more compatible with DOS to not insert carriage returns in the console device.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4114
2018-06-12 20:04:10 +00:00
ripsaw8080
cb8bf9f8f6 Return an error for generic block device request on unmounted floppy drives. Fixes bug #481.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4112
2018-06-02 18:21:21 +00:00
ripsaw8080
f9ac735c98 Be less specific about the jump instruction when identifying a video BIOS.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4110
2018-05-30 12:52:17 +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
ripsaw8080
ee8103cc23 Lock default label of HDD local drive mounts. Fixes label changing to the host drive label when resetting cache on the Windows platform.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4104
2018-05-22 15:18:00 +00:00
ripsaw8080
cd9e7b3c07 Improve disk serial number DOS functions.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4102
2018-05-22 15:07:38 +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
ripsaw8080
c7ced14d56 Support rarely used FCB feature: open file with search mask. Fixes Buckaroo Banzai.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4096
2018-05-03 16:08:53 +00:00
Peter Veenstra
5cb34a071d Correct small error/warning.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4073
2018-01-31 18:21:54 +00:00
Peter Veenstra
f7ae7a1dbe Fix narrowing warnings (errors on clang/freebsd) and an unhandled value in switch. (Part of patch #275 from strageqargo)
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4072
2018-01-31 10:21:41 +00:00
ripsaw8080
34f99e9261 Remove some unnecessary things from prior commits; oops.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4063
2017-10-28 20:30:41 +00:00
ripsaw8080
9857a92c58 Improve MSCDEX GetDirectoryEntry function: skip associated files, and handle HSF differences in canonicalized structure. Also combine Copyright, Abstract, and Documentation filename functions.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4060
2017-10-28 19:47:09 +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
451d07d8da Point DOS redirected interrupts at a plain IRET as in real DOS. Prevents erroneous detection of an active debugger, which for example fixes sound in Microleague Football 2.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4046
2017-09-10 11:22:52 +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
d16a138ac7 Use default attribute behavior of ANSI.SYS in the console device. Fixes scrolling issues. Anything that wants non-ANSI behavior may not display as intended with the internal DOS, same as real DOS when ANSI.SYS is loaded.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4005
2017-01-15 16:01:34 +00:00
ripsaw8080
2b837cf6fb Correct stack pointer for COM format programs when there is less than 64K of memory available. Fixes Corncob 3D issue reported in bug #443.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3988
2016-06-22 16:29:13 +00:00
ripsaw8080
8fc782f561 Make the internal program for loading ROM images a bit smarter about what it can/will load. Also provide for BASIC in ROM to support IBM BASIC interpreters.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3984
2016-05-23 11:37:39 +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
3c95f17d95 EXEC improvements, mostly for the load-but-do-not-execute function.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3978
2016-04-05 05:44:43 +00:00
ripsaw8080
f0cf2bc6b0 Prevent DOS buffered input function from hanging in an infinite loop when redirected input reads a linefeed or reaches EOF.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3977
2016-04-05 05:40:48 +00:00
ripsaw8080
77bb9df6a6 Reset CurMode object when detecting that the video mode number in BIOS memory was modified directly instead of through the INT 10h mode set function. Fixes cases where BIOS behavior is influenced with the mode number, such as the status line in Bruce Lee.
Set color modes (to the extent that they can be) on the Hercules machine type if the BIOS equipment list is not set to monochrome. Fixes missing text in Victory Road.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3975
2016-04-05 05:29:05 +00:00
ripsaw8080
58c495998a Fill DTA for FCB search results more like real DOS. Fixes bug #436.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3972
2016-03-23 21:24:41 +00:00