mirror of
https://github.com/simh/simh.git
synced 2026-01-26 12:02:14 +00:00
Notes For V3.2-2
RESTRICTION: The PDP-15 FPP is only partially debugged. Do NOT enable this feature for normal operations. RESTRICTION: The HP DS disk is not debugged. DO NOT enable this feature under any circumstances. 1. New Features in 3.2-2 None 2. Bugs Fixed in 3.2-2 2.1 SCP - Fixed problem ATTACHing to read-only files (found by John Dundas) - Fixed problems in Windows terminal code (found by Dave Bryan) - Fixed problem in big-endian reads (reported by Scott Bailey) 2.2 GRI-909 - Updated MSR to include SOV - Updated EAO to include additional functions 2.2 HP2100 (from Dave Bryan) - Generalized control character handling for console terminal 2.3 VAX - Fixed bad block initialization routine
This commit is contained in:
committed by
Mark Pizzolato
parent
e2ba672610
commit
2688f2d26e
@@ -23,6 +23,7 @@
|
||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
13-Jul-04 RMS Fixed bad block routine
|
||||
16-Jun-04 RMS Added DHQ11 support
|
||||
21-Mar-04 RMS Added RXV21 support
|
||||
06-May-03 RMS Added support for second DELQA
|
||||
@@ -197,20 +198,22 @@ return SCPE_OK;
|
||||
|
||||
t_stat pdp11_bad_block (UNIT *uptr, int32 sec, int32 wds)
|
||||
{
|
||||
int32 i, da;
|
||||
int32 *buf;
|
||||
int32 i;
|
||||
t_addr da;
|
||||
uint16 *buf;
|
||||
|
||||
if ((sec < 2) || (wds < 16)) return SCPE_ARG;
|
||||
if ((uptr->flags & UNIT_ATT) == 0) return SCPE_UNATT;
|
||||
if (!get_yn ("Overwrite last track? [N]", FALSE)) return SCPE_OK;
|
||||
da = (int32) (uptr->capac - (sec * wds)) * sizeof (int16);
|
||||
if (fseek (uptr->fileref, da, SEEK_SET)) return SCPE_IOERR;
|
||||
if ((buf = malloc (wds * sizeof (int32))) == NULL) return SCPE_MEM;
|
||||
buf[0] = 0x12345678;
|
||||
buf[1] = 0;
|
||||
for (i = 2; i < wds; i++) buf[i] = 0xFFFFFFFF;
|
||||
da = (uptr->capac - (sec * wds)) * sizeof (uint16);
|
||||
if (sim_fseek (uptr->fileref, da, SEEK_SET)) return SCPE_IOERR;
|
||||
if ((buf = malloc (wds * sizeof (uint16))) == NULL) return SCPE_MEM;
|
||||
buf[0] = 0x1234;
|
||||
buf[1] = 0x5678;
|
||||
buf[2] = buf[3] = 0;
|
||||
for (i = 4; i < wds; i++) buf[i] = 0xFFFF;
|
||||
for (i = 0; (i < sec) && (i < 10); i++)
|
||||
fxwrite (buf, sizeof (int32), wds, uptr->fileref);
|
||||
sim_fwrite (buf, sizeof (uint16), wds, uptr->fileref);
|
||||
free (buf);
|
||||
if (ferror (uptr->fileref)) return SCPE_IOERR;
|
||||
return SCPE_OK;
|
||||
|
||||
Reference in New Issue
Block a user