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

Hittner, David T. david.hittner at ngc.com
Thu Jul 26 14:41:21 EDT 2007


Here's my 11/780 ini file that I use for testing the ethernet controller.

Even though the VAX 11/780 was last officially 'supported' under VMS 5.5-2, that only means that that is the last version that HP/Compaq/Digital was able to test and qualify on a VAX 11/780 (due to lack of running hardware). I run VMS 7.2 (from the Hobbyist CD) on the 11/780 and it runs fine.

Dave

-------------------------------------------
;;; vax780.do - configure VAX 780

;disable unnecessary controllers
set dz disable
set cr disable
set lpt disable
set rl disable
set hk disable
set rp disable
set ry disable
set ts disable
set tu disable
set tq disable

; disable unnecessary devices
set rq3 disable
set rq2 disable

;increase memory size
set cpu 128m

;attach primary hard drive and CDROM
set rq0 ra82
attach rq0 c:\disk_images\simh\ra82_vax780sys.dsk
set rq1 cdrom
attach -r rq1 c:\disk_images\simh\vax_hobby_vms072.dsk

;enable and attach ethernet for debugging
set xu enable
set xu debug=trace
attach xu eth2

;redirect console to VT emulator
set telnet 2020

; boot it!
; b rq0 
----------------------------------------------------------------------

-----Original Message-----
From: simh-bounces at trailing-edge.com [mailto:simh-bounces at trailing-edge.com] On Behalf Of Hoyer Falko
Sent: Thursday, July 26, 2007 8:52 AM
To: simh at trailing-edge.com
Subject: Re: [Simh] UDA-50 - want to use 'odd byte count'

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

_______________________________________________
Simh mailing list
Simh at trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh



More information about the Simh mailing list