Commit Graph

33 Commits

Author SHA1 Message Date
Volker Ruppert
a3441c8e55 - fixed memory leaks 2012-02-18 08:52:25 +00:00
Volker Ruppert
f5ca539534 - fixed some uninitialized values found with valgrind 2012-02-10 18:08:17 +00:00
Volker Ruppert
ec464f6f17 - fixed sector count to support > 32GB virtual disk size (patch by soynor) 2012-01-16 17:27:37 +00:00
Volker Ruppert
afef1e621e - update redolog image position with lseek() if the read/write access is not
handled by the volatile redolog (fixes tests with Windows XP)
- allow volatile write to boot sector
2011-12-31 12:51:07 +00:00
Volker Ruppert
185490c158 - fixed possible segfault when setting up file attributes
- some more hidden / system directory fixes
- parse_directory() / write_file(): continue only if next cluster is valid
- TODO: fix VVFAT with Windows XP guest (unmodified FAT ?)
2011-12-30 23:23:34 +00:00
Volker Ruppert
13506f74ee - fixed handling of directories with the attributes 'hidden' and 'system' 2011-12-29 15:39:04 +00:00
Volker Ruppert
3029d55f4a - hdimage 'flat' mode: added support for Linux block devices (part of SF patch #3412431)
- hdimage: renamed 'sectors' to 'spt' (same as the config parameter)
- harddrv: fixed info message
2011-11-26 15:09:00 +00:00
Volker Ruppert
d2b0146a7e - changed BX_ERROR to BX_PANIC for the case a host directory does not fit on the virtual disk
- stop reading host directory in case of an error (finally causes a BX_PANIC)
2011-08-09 16:52:18 +00:00
Volker Ruppert
61ac09e297 - allow writing to MBR (except partition table) to make Win95 happy 2011-04-23 14:18:01 +00:00
Stanislav Shwartsman
00981cd7a6 Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
Volker Ruppert
44ece7cf26 - including vga.h in iodev.h no longer necessary and symbol NO_DEVICE_INCLUDES
is useless then
- updated makefile dependenies
2011-01-24 20:35:51 +00:00
Volker Ruppert
e570e863c2 - fixed file descriptor / file handle leak (ported from Qemu)
- always stop parsing directory at final entry
2011-01-20 21:10:06 +00:00
Volker Ruppert
f4cbdc9827 - fixed file modification time generated with mktime (timezome value is already
applied and the daylight savings time information is not available)
2011-01-19 18:28:08 +00:00
Volker Ruppert
9b70c59980 - added own log prefix for the hdimage stuff
- added multiple sector read/write support for 'growing' images
- fixed two warnings
2011-01-14 16:43:55 +00:00
Volker Ruppert
0e008fedb0 - file attributes: added support for cleared archive bit
- report ignoring reserved clusters with BX_ERROR
2011-01-14 15:37:36 +00:00
Volker Ruppert
21ccef7f32 - set file modification date and time after committing file changes
- ignore reserved cluster numbers to avoid crash
2011-01-13 20:39:53 +00:00
Volker Ruppert
51682da8b4 - converted the hdimage stuff to a separate plugin (similar to usb_common)
- usb_common is now a core plugin
- fixed an MSVC warning in devices.cc
- updated year in copyright
2011-01-12 22:34:42 +00:00
Volker Ruppert
bc60caaccc - added vvfat floppy support (1.44 MB media only / currently not working with
plugins enabled)
- added special characters (0xe5 <-> 0x05) conversion in short filename
2011-01-11 20:14:21 +00:00
Volker Ruppert
3520b9b154 - handle file attribute changes (system, hidden and read-only)
- some work on FAT12 (required for floppy support)
- moved write support code from close() to new method commit_changes()
2011-01-10 21:15:05 +00:00
Volker Ruppert
2bb3d74f70 - fixed handling of modified files if the first cluster has been changed
- handle deletes only after parsing the new directory tree
- show file attributes bits that have been modified
2011-01-09 19:20:11 +00:00
Volker Ruppert
129ce92871 - check mappings for delete request in reverse order to avoid removing non-empty
directories
- some other small changes
2011-01-09 09:19:05 +00:00
Volker Ruppert
e5122a3ccd - experimental real write added (commit changes on exit). When Bochs is shutting
down and the vvfat image has been modied, the user is asked if the vvfat
  directory should also be modified. Currently not handled: remove non-empty
  directories, system-reserved clusters and file attributes.
- some small related changes
2011-01-09 00:36:42 +00:00
Volker Ruppert
2511bf45a8 - always place the 'dot entries' on top of a subdirectory (for some host
file systems this position is not mandatory)
- some small code cleanups
- disabled currently unused code
2011-01-04 18:39:51 +00:00
Volker Ruppert
5dba54c861 - added support for boot sector file without MBR file. Now all cases are handled
correctly: MBR + bootsector, MBR only, boot sector only and none of the files.
2011-01-03 19:03:08 +00:00
Volker Ruppert
e34a9da72c - improved FAT32 support (should be okay now)
- implemented reading boot sector from file
- VVFAT TODO: apply file and directory changes on exit
2011-01-02 14:44:20 +00:00
Volker Ruppert
747f2ba541 - experimental FAT32 support (works in most cases)
- volatile write support using the hdimage redolog_t class
  (TODO: apply directory and file changes on exit)
- updated makefile dependencies
2011-01-01 19:14:25 +00:00
Volker Ruppert
6d0b6c69b9 - implemented reading MBR from file (TODO: read boot sector)
- value of 'sectors_per_fat' must be 32 bit (for FAT32)
- some other small fixes
2010-12-31 15:39:27 +00:00
Volker Ruppert
a9a6bbfe22 - added support for reserved sectors between bootsector and FAT containing a copy
of the bootsector and the "FS info sector" (required for FAT32)
- implemented a more accurate way to calculate the number of clusters and the
  corresponding FAT size
- some other small fixes
2010-12-30 12:30:58 +00:00
Volker Ruppert
c521ec6ba1 - fixed MBR and boot sector values 2010-12-28 22:31:40 +00:00
Volker Ruppert
d45c98a267 - fixed crash caused by uninitialized value (found with MSVC)
- fixed cylinder overflow check
2010-12-27 22:37:36 +00:00
Volker Ruppert
a8ced63e31 - more fixes for configurable disk geometry
- check the root entries limit of FAT16
- some work on the FAT32 support (not yet complete)
- report volume creation date and time
- some other small fixes
2010-12-26 23:13:29 +00:00
Volker Ruppert
ba41f4cbff - set cluster size depending on disk size (FAT32 support not complete)
- several fixes related to configurable geometry (some more tests required)
- skip MBR and boot sector image files when reading directory (still unused)
- support overriding cylinder value with 0 in the command line
- don't return failure value when reading unused sectors
- increment buffer pointer when reading more than one sector
2010-12-24 20:47:22 +00:00
Volker Ruppert
341c764e1f - added initial 'virtual VFAT' image support (shadows a local directory)
* ported the read part of the Qemu vvfat block driver
  * added win32 specific directory functions (required for MSVC)
  * TODO: write support, FAT32 support, read MBR and boot sector from file
2010-12-23 16:17:12 +00:00