Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: rtVAX300 .. adding an CPU Type..

Mouse wrote:

> > (He Mouse, there is something wrong with this console ready-bit test,
> > I've got nothing useful if I used the begin of the routines.)
> You probably don't have r11 pointing to the data structures it expects.
> I expect there is another entry point somewhere which is more
> appropriate for call-from-kernel use.  (Also, another reason to think
> it's not designed for non-ROM use is that it uses jsb/rsb calling, not
> call[sg]/ret.)

There is a entry point here:

  ; Send the char in r2 out console A.
     cons_A_TX: blbc    1001(r11),0x20044f32
      20044f23: bbc     $2,*$20100004,0x20044f23 ; console A status, bit TX_RDY
      20044f2b: movl    r2,*$2010000c ; console A transmit data
      20044f32: movzbl  $1,r0
      20044f35: rsb
  ; Send the char in r0 out console A.  Ignores 1001(r11) disable bit.
  cons_A_TX_always: blbc    1001(r11),0x20044f4a
      20044f3b: bbc     $2,*$20100004,0x20044f3b ; console A status, bit TX_RDY
      20044f43: movl    r0,*$2010000c ; console A transmit data
      20044f4a: rsb
  ; Receives a char from console A.  If none, r0=0; if one, r0=1 and r1 holds th
     cons_A_RX: blbc    1001(r11),0x20044f58
      20044f50: bbs     $0,*$20100004,0x20044f5b ; console A status, bit RX_RDY
      20044f58: clrl    r0
      20044f5a: rsb
      20044f5b: movzbl  *$2010000c,r1 ; console A receive data
      20044f62: movzbl  $1,r0
      20044f65: rsb
-->   20044f66: entry mask: r11
      20044f68: movl    *$2000801c,r11
      20044f6f: movzbl  04(ap),r0
      20044f73: jsb     cons_A_TX_always
      20044f76: ret

$2000801c ist the CSR7 (System Base Adress Register) from the SGEC pointing
to the physical Start Address of the "rtVAX System Page Table" according
382ABUG2.PDF page 3-61 (132).
The manuals states that between 2c0 and 2cc in that table the console
vectors are placed. Nevertheles the code seems to not use any interrupts
what make it pretty unusable for use in a kernel, or I'm wrong here?

The Start Block of the Console ROM Routines is described at page 4-4 (166)
of this manual, at 20040020 are "callable routines" (Memory Test) located 
and at 20040080 "Rest of ROM Set Data and Code" ...


"4.3.2  Compatible console Interface
  The rtVAX 300 ROM code includes console support similar to that supported
  by the rest of Digital's CAX Product line."


That there is something at page 4-36 (198pp) regarding a Console Mailbox
Register CPMBX in the Scratch Memory Area (that is marked bad in the memory
bitmap to prevent other Software from modifying it).
Following the CPMBX Byte there Should be a Byte "DUART and Display Status"
Bit 1 is Display (LED Display at 201FFFFE) and Bit 0 is SLU.
If the Bit is 1 the Adress has responded and that the SLU is available.

Haven't found the location of that Scratchpad RAM jet..

...you are crazy since you are writing an emulator b'cause of my board :-)



> > Is there a other VAX known that uses those chips (SCN2681 or MC2681
> > or his brothers 2691 ...)?  How about the interrupt architecture?
> > Can I use some other (already existing) console driver?
> Another VAX, dunno.  But...
> > Roger Ivie wrote (in comp.sys.dec) something about that an Amiga (or
> > so) is using those and there where a driver for them...
> ...there is.  I found one and was using it as documentation of a sort
> when picking apart the code that pokes at the 2681.  See pc532/dev/scn*
> (at least in the 4.0.1 source tree).  pc532/stand/common/scn.c might be
> useful too.
> /~\ The ASCII                           Mouse
> \ / Ribbon Campaign
>  X  Against HTML              mouse%rodents-montreal.org@localhost
> / \ Email!         7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

      Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, 
     Freiberger Straße 42, 09600 Oberschöna, USt-Id: DE253710583
  www.tsht.de, info%tsht.de@localhost, Fax +49 3731 74200, Mobil: 0172 8790 741

Home | Main Index | Thread Index | Old Index