[Simh] UDA-50 - want to use 'odd byte count'

Hoyer Falko Falko.Hoyer at austrocontrol.at
Thu Jul 26 08:51:37 EDT 2007


Hi Andreas,

thanks for the reply - 

taking your approach into account the following questions arise:
----------------------------------------------------------------
- if using the massbus-adapter simulation then the maximum disk-size would be 512MB (RP07) - correct?

- we are currently using VMS-7.3 and as far as I know 5.5-2 is the latest running on a 780.

- we tried to compile simh for a VAX780 and we could not configure the simvax.ini file correctly:
do we need the "load ...ka655" stuff in that case ?
has somebody a working .ini file for VAX-780 for reference ?


apart from that - if we still keep on with vax-3900:
----------------------------------------------------
as far as I understood the disk-controller used here (and using RA92) is a RQDX3 which is/was for the Q-bus.
looking in the "VMS I/O User's Reference Manual" for the description of QIO services to disk - we can see that the UDA50  (but NOT the RQDX3) is mentioned for not supporting odd byte count:

"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."

now, I'm currently not sure if my assumption is true - do we really use the UDA50 in the VAX-3900 emulation and not the RQDX3 ?
If so, why is then odd byte count transfer impossible ?

any suggestions are very welcome (also if somebody has an idea how to patch the PDP11_RQ.C file).

regards
Falko

-----Original Message-----
From: Andreas Cejna [mailto:Andreas.Cejna at gnc.at] 
Sent: Mittwoch, 11. Juli 2007 12:28
To: Hoyer Falko; simh at trailing-edge.com
Subject: AW: [Simh] UDA-50 - want to use 'odd byte count'


Hi,
have you tried to run the emulated VAX 11/780. You have the chance to run massbus devices there.

Hope this helps

Kind Regards
Andreas


----- Originalnachricht -----
Von: simh-bounces at trailing-edge.com im Auftrag von Hoyer Falko 
Gesendet: Mit, 11.7.2007 08:50
An: simh at trailing-edge.com
Betreff: [Simh] UDA-50 - want to use 'odd byte count'

Hi,

I'm using SIMH and want to use our special written application software on it. this application was originally designed to run on massbus controller-disks or now we are using HSC's.

This SW uses QIOW to read/write to/from the disk and supplies:

qio.p1= buffer start address
qio.p2= transfer size
qio.p3= disk block address

My problem now:
the simh is emulating a UDA-50 controller which does not allow a odd byte count (and I know this is according spec) - but our SW do this. Currently I don't want to do a change to our application because it is too sensitive and still running on the "real VAX (6x00)". so for us the easier approch would be to modify SIMH.

Without any change we got the QIO status "%SYSTEM-F-IVBUFLEN, invalid buffer length" (= 034C hex)- as expected on UDA-50 - if an attemt to write odd byte count is made.

now we tried to modify pdp11_rq.c by ourself by incrementing (the user
supplied) byte count in case of odd value - but without full success.

the change we tried was as follows :

==== part of pdp11_rq.c ================

/* Data transfer commands */

t_bool rq_rw (MSC *cp, int32 pkt, t_bool q)
{
uint32 lu = cp->pak[pkt].d[CMD_UN];                     /* unit # */ uint32 cmd = GETP (pkt, CMD_OPC, OPC);                  /* opcode */ uint32 sts; UNIT *uptr;

/* insert start hy/pa */
uint32 ll = GETP32 (pkt, RW_BCL);
if (ll & 1) {
     fprintf (sim_deb, "+++ len  = %d +++\n", ll);
     ll++;
     PUTP32 (pkt, RW_BCL, ll);
     ll = GETP32 (pkt, RW_BCL);
     fprintf (sim_deb, "+++ len  = %d +++\n", ll);
}
/* insert end hy/pa */

if (uptr = rq_getucb (cp, lu)) {                        /* unit exist? */ ..... rest unchanged ..... ==============================

with this change applied now we get the following status instead: %SYSTEM-F-INCSEGTRA, incomplete segmented transfer request posted (= 2234 hex) which is again not what I like.

my question: how can I make this odd byte count possible on that controller-simulation and/or from where (which code) is this status code
(%x2234) actually coming from ?

any help would be very appreciated.

many thanks in advance
Falko
_______________________________________________
Simh mailing list
Simh at trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh




More information about the Simh mailing list