1
0
mirror of https://github.com/simh/simh.git synced 2026-02-01 06:13:34 +00:00

Remove the UNIT_RAW flag and deprecate the UNIT_TEXT flag (made the value 0).

This commit is contained in:
Mark Pizzolato
2013-01-19 10:59:40 -08:00
parent 19c4ccbf10
commit 4a5b7a78c5
5 changed files with 60 additions and 9 deletions

View File

@@ -273,6 +273,7 @@ static void sim_vhd_disk_flush (FILE *f);
static t_addr sim_vhd_disk_size (FILE *f);
static t_stat sim_vhd_disk_rdsect (UNIT *uptr, t_lba lba, uint8 *buf, t_seccnt *sectsread, t_seccnt sects);
static t_stat sim_vhd_disk_wrsect (UNIT *uptr, t_lba lba, uint8 *buf, t_seccnt *sectswritten, t_seccnt sects);
static t_stat sim_vhd_disk_clearerr (UNIT *uptr);
static t_stat sim_vhd_disk_set_dtype (FILE *f, const char *dtype);
static const char *sim_vhd_disk_get_dtype (FILE *f);
static t_stat sim_os_disk_implemented_raw (void);
@@ -1121,7 +1122,8 @@ sim_disk_clr_async (uptr);
if (uptr->io_flush)
uptr->io_flush (uptr); /* flush buffered data */
uptr->flags = uptr->flags & ~(UNIT_ATT | UNIT_RO | UNIT_RAW);
uptr->flags &= ~(UNIT_ATT | UNIT_RO);
uptr->dynflags &= ~UNIT_NO_FIO;
free (uptr->filename);
uptr->filename = NULL;
uptr->fileref = NULL;
@@ -1206,6 +1208,39 @@ AIO_UPDATE_QUEUE;
return SCPE_OK;
}
t_stat sim_disk_perror (UNIT *uptr, const char *msg)
{
if (!(uptr->flags & UNIT_ATTABLE)) /* not attachable? */
return SCPE_NOATT;
switch (DK_GET_FMT (uptr)) { /* case on format */
case DKUF_F_STD: /* SIMH format */
case DKUF_F_VHD: /* VHD format */
case DKUF_F_RAW: /* Raw Physical Disk Access */
perror (msg);
default:
;
}
return SCPE_OK;
}
t_stat sim_disk_clearerr (UNIT *uptr)
{
if (!(uptr->flags & UNIT_ATTABLE)) /* not attachable? */
return SCPE_NOATT;
switch (DK_GET_FMT (uptr)) { /* case on format */
case DKUF_F_STD: /* SIMH format */
clearerr (uptr->fileref);
break;
case DKUF_F_VHD: /* VHD format */
sim_vhd_disk_clearerr (uptr);
break;
default:
;
}
return SCPE_OK;
}
/* Factory bad block table creation routine
This routine writes a DEC standard 044 compliant bad block table on the
@@ -1974,6 +2009,11 @@ static t_stat sim_vhd_disk_rdsect (UNIT *uptr, t_lba lba, uint8 *buf, t_seccnt *
return SCPE_IOERR;
}
static t_stat sim_vhd_disk_clearerr (UNIT *uptr)
{
return SCPE_IOERR;
}
static t_stat sim_vhd_disk_wrsect (UNIT *uptr, t_lba lba, uint8 *buf, t_seccnt *sectswritten, t_seccnt sects)
{
return SCPE_IOERR;
@@ -3488,6 +3528,14 @@ struct disk_context *ctx = (struct disk_context *)uptr->disk_ctx;
return ReadVirtualDiskSectors(hVHD, buf, sects, sectsread, ctx->sector_size, lba);
}
static t_stat sim_vhd_disk_clearerr (UNIT *uptr)
{
VHDHANDLE hVHD = (VHDHANDLE)uptr->fileref;
clearerr (hVHD->File);
return SCPE_OK;
}
static t_bool
BufferIsZeros(void *Buffer, size_t BufferSize)
{