[Simh] Older Source Archives?

Mark Pizzolato mark at infocomm.com
Sat Sep 18 06:33:15 EDT 2004


--- David Holland <david.w.holland at gmail.com> wrote:

[...]

> The synopsis is, if the buffer length passed to a IO$_READVBLK is
> not a even number, it bomb's w a Invalid Buffer Length error.
> 
> However, under SIMH (and ts10 - Which I believe uses SIMH's code)
> the program promptly exit's w/ the Invalid Buffer Length error.
> On real hardware, (and on charon-vax), it loops through like I'd
> expect, and eventually hits EOF.
>
> This 'bug' apparently keeps WASD from executing properly under SIMH
> w/ VMS 7.3  Actually, WASD will work, sorta, if all the files its
> trying to serve up are of a even number of bytes long.
> 
> Anyone have a spare clue they'd care to pass me?  Or at least some
> suggested places to continue looking?

I doubt that this arrived with any particular version of SIMH or any
version of VMS either.

The issue that you are observing is that the transfer size specified
in a QIO operation fails if it is not Odd on SIMH.  Well this is due
to the fact that you are using a simulated RA device connected to a
simulated UDA controller.  The OS supplied device driver for this
device places the even number of bytes transfer size restriction on
these devices (which is probably a reflection of the underlying
hardware requirements).  This is documented in the VMS I/O Users
Guide section entitled "Disk Function Codes".  It says:  "P2--The
number of bytes that are to be read from the disk, or written from
memory to the disk. An even number must be specified if the
controller is an RK611, RL11, RX211, or UDA50"

When your test suceeded on "Real Hardware" and the charon-vax, you
must have been using a disk device that wasn't one of the ones that
require even by transfer sizes.  SCSI maybe?

Clearly you can adjust the affected code to "round up" the desired
size into a sufficiently large buffer, and then only pass the true
data size to the requesting application.

- Mark Pizzolato



More information about the Simh mailing list