Commit graph

170 commits

Author SHA1 Message Date
Mark Pizzolato
5bec9d58dd DISK: Avoid trying to change drive type when it is already correct. 2020-05-02 13:34:26 -07:00
Mark Pizzolato
0b3e415b8e DISK: Cleanup compiler warnings 2020-04-30 02:59:30 -07:00
Mark Pizzolato
7082e212ea DISK: Avoid autosizing if file system can't be determined
Add DISKINFO command to display information about a disk container file.
2020-04-29 13:21:12 -07:00
Mark Pizzolato
aa380517fa DISK: Add support for arbitrary sector sizes in all container formats 2020-04-29 12:21:08 -07:00
Mark Pizzolato
580b388917 DISK: Add ATTACH copy option to create a SIMH or VHD copy
- Fail ATTACH when container type doesn't match drive type and autosizing
  is disabled.
- Be sure to write data at the end of a VHD container right up to the end of
  the disk.
2020-04-22 08:55:36 -07:00
Mark Pizzolato
d225629b9a DISK: Always open VHD containers as VHD without regard to the selected format 2020-04-20 21:22:12 -07:00
Mark Pizzolato
e872682d3c DISK: Major rework to support VHD's with other than 512 byte sectors
- Added rigorous disk test routine to exercise all supported disk container
  formats with various sector sizes and storage element sizes
- Extended logic to validate disk container simulated device consistency
  with the simulator and/or controller accessing it.
2020-04-17 17:34:28 -07:00
Mark Pizzolato
07682806a5 DISK: Fix size detection and validation for VHD disks 2020-04-13 10:05:46 -07:00
Mark Pizzolato
d0022e9328 DISK: Update VHD Footer to current info 2020-04-12 08:13:28 -07:00
Mark Pizzolato
049ba32505 DISK: Add robust disk container validation 2020-04-11 13:01:48 -07:00
Mark Pizzolato
ab66fa1484 DISK: Fix attach time auto sizing to walk through list of potential drive types 2020-04-05 16:50:16 -07:00
Mark Pizzolato
73df9b1c4e PDP10, PDP11, Massbus VAXen, DISK: Rework PDP10 use of sim_disk
- Make all PDP11, VAX RP and RQ devices autosizing behave similarly
- Generalize the attach help to be specific to the device/system being
   attached
- Remove the sim_disk_pdp10_* calls which weren't correct or needed
   since sim_disk_attach_ex provides sector size which is used correctly
2020-04-03 17:32:14 -07:00
Mark Pizzolato
b7824943df DISK: Minimize the sim_disk_pdp10_attach arguments to minimize aguments
The sim_disk_pdp10_... API's specifically provide 1024 byte sector
interfaces for 64bit data.

Customize the attach help output to be more appropriate for the devices
in the running simulator and the device who's help is being displayed.
2020-03-31 19:37:33 -07:00
John Forecast
6efa9c0a92 PDP10, DISK: Add sim_disk support for PDP10 format disks add to the RP device
This allows the underlying disk container formats that that sim_disk supports
(VHD, SIMH or RAW) to be accessed from the PDP10 KS10 simulator, and later
on to Rich Cornwell's PDP10-KA, PDP10-KI, and PDP10-KL simulators.
2020-03-31 15:20:04 -07:00
John Forecast
89215d8288 DISK: Fix Coverity flagged issues with tainted data and potential overflow 2020-02-17 19:14:51 -08:00
Mark Pizzolato
e333a691d0 DISK: Ignore NULL unit with HELP <dev> ATTACH for disk devices
Related to activities in #801
2020-02-10 10:41:33 -08:00
Mark Pizzolato
78f8599024 DISK: Limit HELP output attach commands to at most 4 disks
As discussed in #801
2020-02-09 07:17:12 -08:00
John Forecast
d00c1d4540 DISK: Add RSTS file system recognizer
Thorough fix to #581
2020-02-07 15:51:12 -08:00
Mark Pizzolato
519ef27def DISK, TAPE: Remove compiler and Coverity warnings 2019-11-24 10:55:25 -08:00
Mark Pizzolato
4e5780e15e DISK: Allow file system sizing if device doesn't have DEV_SECTORS set_cmd
As it turns out, the RD device in the MicroVAX 2000 systems reasonably
doesn't have DEV_SECTORS set in the DEVICE flags.

Follow on to #768.
2019-11-16 20:57:58 -08:00
Mark Pizzolato
39fd8d829b DISK: Avoid disk capacity overflow on hosts with 32bit file offset limitations
As discussed in #768
2019-11-16 18:24:37 -08:00
Mark Pizzolato
526e03bbe1 DISK: Remove dangling semicolon compiler warning. 2019-07-07 19:27:28 -07:00
Mark Pizzolato
56ab8260f2 DISK: Fix Coverity warnings 2019-06-08 13:53:35 -07:00
Mark Pizzolato
6b3bff56b3 DISK: Add support to properly autosize fixed sized disk from a set of choices
As discussed in #704
2019-05-21 15:38:39 -07:00
John Forecast
4f2dc069ae DISK: Check all read sector counts during attach.
- Problem report #704
- Enable RAW access support on OSX
2019-05-20 23:32:58 -07:00
Mark Pizzolato
05f84879ad DISK: Cleanup compiler warnings 2019-05-09 16:32:57 -07:00
John Forecast
e47a7e9ef7 DISK: Add RT11 file system disk size detection 2019-05-09 16:16:31 -07:00
Mark Pizzolato
52fab988e3 DISK: Handle Windows RAW disk reads at EOF as success reading 0's
This was the root cause of the problem reported in #696
2019-05-01 18:30:34 -07:00
Mark Pizzolato
c7b0928b33 SCP: Avoid potential buffer overruns by using strlcpy() and strlcat() 2019-03-08 12:31:01 -08:00
Mark Pizzolato
75d18d4db0 SCP: Removed redundant SCPE_NOTATT which duplicates SCPE_UNATT 2019-02-01 16:07:12 -08:00
Mark Pizzolato
cb9876ce65 SCP: Cleanup gcc compiler flagged potential issues
Compiler warnings about undeclared case fall throughs, and potential
buffer overruns,
2019-01-21 16:43:17 -08:00
Mark Pizzolato
3cca0cf90b SCP: Cleanup MinGW compile warnings 2019-01-21 02:36:42 -08:00
Mark Pizzolato
0e544b71ff SCP: Fix various compiler warnings 2018-09-28 18:05:39 -07:00
Mark Pizzolato
928193d463 SCP: Fix EXPECT regular expression match environment variable names
- Use sim_messagef for consistency
2018-09-27 06:24:31 -07:00
Mark Pizzolato
0daa80e03d SCP: Add support for library unit test routines 2018-08-26 18:15:30 -07:00
Mark Pizzolato
6070692581 SCP: Add unit to AIO_VALIDATE context message 2018-08-08 11:51:54 -07:00
Mark Pizzolato
4487646946 DISK: Fix auto sizing and non auto sizing logic checks
As reported in #581 and #565
2018-07-19 23:33:09 -07:00
Mark Pizzolato
83234f1e9d DISK: Add Linux host support for direct CDROM access 2018-05-26 12:33:50 -07:00
Mark Pizzolato
2363300e64 DISK: Fix Coverity identified error path problems 2018-05-15 07:32:24 -07:00
Mark Pizzolato
5ee2944f40 DISK: Properly parenthesize logical expression for clarity avoid clang warning 2018-05-09 13:30:26 -07:00
Mark Pizzolato
e266271612 DISK: Fix auto format detection when attaching VHD disk images 2018-05-07 12:22:33 -07:00
Mark Pizzolato
15e86fb4ed SCP, DISK: Fix Coverity identified debug path null pointer dereferences 2018-04-17 23:51:39 -07:00
Mark Pizzolato
d6a5268d97 DISK: Properly open in RAW mode on *nix 2018-04-11 04:20:17 -07:00
Mark Pizzolato
8bec55b976 DISK: Properly fail an attempt to access to a non-existent file in raw mode 2018-04-10 11:45:22 -07:00
Mark Pizzolato
6667f651a3 DISK: Add explicit AUTO detect disk format mode 2018-04-10 11:43:43 -07:00
Mark Pizzolato
6263378df4 DISK: Change auto disk format open logic to include RAW
Previously auto format detection first attempted a VHD open.  If that
failed, it falls back to a SIMH open which uses C RTL fopen, fread, fwrite
and fclose.  Now a RAW format open is attempted which will often
succeed, not only on CDROM devices, but most normal files can also
be opened in RAW mode which will to direct OS I/O (open, erad, write
and close or CreateFile, ReadFile, WriteFile, CloseHandle).

As discussed in #533
2018-04-07 22:15:14 -07:00
Mark Pizzolato
28e4311039 SCP: Extended debugging to allow for unit specific debug for disk and tape 2018-04-07 21:38:26 -07:00
Mark Pizzolato
669d07ba3e SCP: Fix compile WIN32 MinGW warnings 2018-03-07 13:20:14 -08:00
Mark Pizzolato
335b4ef210 DISK: Add support for reporting OS specific error messages when using RAW I/O 2018-02-27 13:32:20 -08:00
Mark Pizzolato
70d8f759c6 DISK: Fix RAW device (CDROM) access behaviors
- Only open RAW CDROM devices in read only mode (UNIT_RO) to avoid
   potential write attempts.
- Make sure to properly reopen RAW CDROM devices after media is inserted
   into the drive after an attach thas with no media present OR after an Eject.

As discussed in #533
2018-02-24 17:38:20 -08:00