Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Ethernet bootstrap
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  3 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Bob Supnik  
View profile  
 More options Jan 10 2003, 5:00 pm
Newsgroups: alt.sys.pdp11
From: Bob Supnik <bsup...@nauticusnet.nospam.com>
Date: Fri, 10 Jan 2003 17:00:04 -0500
Local: Fri, Jan 10 2003 5:00 pm
Subject: Ethernet bootstrap
Does anyone have a primary bootstrap for the PDP-11's Ethernet
controllers (specifically the DEQNA/DELQA)?

I'm looking for the 'small' bootstrap that would have been included in
the MXV11B ROM's, or the KDJ11B ROMs, not the 4KB secondary boot ROM
that was part of the DEQNA/DELQA itself.

Thanks,

/Bob Supnik


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alan Frisbie  
View profile  
 More options Jan 10 2003, 6:36 pm
Newsgroups: alt.sys.pdp11
From: Alan Frisbie <Ab...@NelsonUSA.com>
Date: Fri, 10 Jan 2003 15:42:33 -0800
Local: Fri, Jan 10 2003 6:42 pm
Subject: Re: Ethernet bootstrap

Bob Supnik wrote:
> Does anyone have a primary bootstrap for the PDP-11's Ethernet
> controllers (specifically the DEQNA/DELQA)?

> I'm looking for the 'small' bootstrap that would have been included in
> the MXV11B ROM's, or the KDJ11B ROMs, not the 4KB secondary boot ROM
> that was part of the DEQNA/DELQA itself.

I assume that you are talking about the code that transferred the
boot code out of the DEQNA ROM and into the PDP-11 memory.   I did
some work with that back in 1983 or so, including finding bugs in
the DEQNA ROM code (it had interrupts enabled before the clock
vector was set up).

The code I had was really trivial, and I am sure the code in the
KDJ11B ROMs was much more complex (just a guess).

I'm not certain, but I am pretty sure that I have it in my archives.
I will look for it this weekend.

I also have a listing of the Version 6 ROMs for the KDJ11B, but
it might be harder to dig that out.   Let me know if you need it.

Alan


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tim Shoppa  
View profile  
 More options Jan 20 2003, 10:54 am
Newsgroups: alt.sys.pdp11
From: sho...@trailing-edge.com (Tim Shoppa)
Date: 20 Jan 2003 07:54:12 -0800
Local: Mon, Jan 20 2003 10:54 am
Subject: Re: Ethernet bootstrap

Bob Supnik <bsup...@nauticusnet.nospam.com> wrote in message <news:aggu1v0eqk48s6f34t9otfohatrp9c9f13@4ax.com>...
> Does anyone have a primary bootstrap for the PDP-11's Ethernet
> controllers (specifically the DEQNA/DELQA)?

> I'm looking for the 'small' bootstrap that would have been included in
> the MXV11B ROM's, or the KDJ11B ROMs, not the 4KB secondary boot ROM
> that was part of the DEQNA/DELQA itself.

Hopefully better late than never, but I finally got to digging and
found that the CIQNDC0 sources give an example bootstrap:

                IDENTIFICATION
                --------------

PRODUCT CODE:  AC-T612A-MC

PRODUCT NAME:  CIQNDC0 DEQNA ROM RESIDENT CODE

PRODUCT DATE:  29 June 1984

MAINTAINER:    DIAGNOSTIC ENGINEERING

[...]

4.1     PRIMARY BOOT PROCESS

The primary boot, resident in the host, normally checks for the existence
of the device it is going to boot from, boots 512. bytes from the device,
verifies the operation, sets parameters and transfers to the "booted" code.

A suggested method for "checking" for a QNA is as follows:

        Write a "2" (a module reset) into the QNA's CSR at location
        17774456 or 17774476.

        Read back the CSR and compare against an octal 000062.

        If equal then there is most likely a QNA there.

        If not equal (Bus time-out?) then "sniff" elsewhere.

        Write a "0" back into the CSR to "reset" the reset bit.

If a QNA is present and it is to be used for the boot the first thing
then:

        A descriptor for a 256. word "receive" is validated in the QNA.

                Data is read into the host starting at location 0
                The descriptor is 8 words long, words 0, 4, 5 and 6 will
                contain operation status. Words 1, 2, 3, and 7 are constant.

        Write a "1010" into the CSR to move the boot code into the QNA's
        internal receive buffer and delay for approximately one second.

        Write a "1000" into the CSR to move the data in the internal
        receive buffer into host memory and delay for approximately one
        second.

        Reset the QNA and check the CSR for proper status.

        Checked the receive descriptor for nominal states.

        The Data transfer is verified.

        If the QNA primary boot code detects a failure at this point the
        host boot is re-entered.

        Transfer is made to the first location of the freshly loaded
        portion of the QNA BD ROM.

                R1 contains the I/O Page address of the QNA (174440)

                R0 contains a "000000" if the DECnet boot resident on the
                QNA is to be used.
                                - or -
                If R0 is greater than "000777" an effective JMP (R0) is
                executed in lieu of the DECnet boot.

                Location 12 contains a "000000" if the EPB is to halt when
                an error is detected.
                                - or -
                If loaction 12 is greater than "000000" an effective JMP @12
                is executed in lieu of a "HALT".                

4.1.1   EXPECTED VALUES FOR VERIFICATION

CSR is checked for a nominal state as are the status words in the receive
descriptor.

                Status  Nominal
                ---------------
                CSR     000060 or 010060
                FLAG    14xxxx
                BSW1    14xxxx
                BSW2    14xxxx
                CSW0    177777

      x - don't care bits

Next the actual data transfer is verified by checking the first three bytes
of the data transferred for standard values. These first locations and their
expected contents are:

                Location        Contents
                --------------------------
                0000-1          000240  (NOP)
                0002               001  (a BR instruction)
                0003               xxx

                0004
                 ..             The QNA Extended Primary Boot (EPB) code
                0777

4.1.2   SAMPLE PRIMARY BOOT CODE

Below is an example of how a primary boot could be implemented on a typical
PDP-11 based host.

Upon entry R0 is coded to indicate which QNA is to be used for the boot.
The first 32K bytes of the host memory is assumed to be mapped 1 to 1
physical to logical. The I/O page is mapped to the last 4K.

Assume settings for R0 as follows:      

        R0 - Contains a "4" for QNA#1 @ 174440
             Contains a "5" for QNA#2 @ 174460
PDP-11 code for booting the DEQNA EPB might be as follows:

        mov     #174440,r1      ; assume device is DEQNA #1
        cmp     #4,r0
        beq     10$             ; good assumption
        mov     #174460,r1      ; select device at DEQNA #2

10$:    mov     #2,16(r1)       ; assert QNA software reset
        cmp     #000062,16(r1)  ; "nominal" status during reset
        bne     90$             ;? not a proper response, halt
        clr     16(r1)          ; clear reset state and all others

        mov     #2000,r3        ; pick an address for descriptor
        mov     r3,r4
        mov     #100000,(r4)+   ; Flag word, changed to -1
        mov     (r3),(r4)+      ; Valid buffer descriptor, receive
        clr     (r4)+           ; location zero
        mov      #-400,(r4)+    ; 256. words or 512. bytes
        clr     (r4)+           ; Descriptor status 1, changed to -1
        clr     (r4)+           ; Descriptor status 2, changed to -1
        mov     (r3),(r4)+      ; Chain flag word, changed to -1
        mov     #020000,(r4)    ; end descriptor code
        mov     r3,04(r1)
        clr     06(r1)          ; validate a receive descriptor

        mov     #1010,16(r1)    ; Instruct QNA to unload the EPB code
        clr     r0              ; delay about 60 ms for transfer of
        sob     r0,.            ; i8051 contents to receive FIFO
        clr     #1000,16(r1)    ; Complete the EPB unload
        clr     r0              ; delay about 60 ms for transfer of
        sob     r0,.            ; receive FIFO to host memory
        mov     #2,16(r1)
        clr     16(r1)          ; Final reset to complete operation

        mov     #2014,r4
        bic     #037777,(r4)    ; check if last status word was updated
        cmp     #140000,(r4)    ;
        bne     90$             ;

        cmp     #240,@#0        ; check for QNA boot block
        bne     90$             ;? operation data check
        cmpb    #001,@#3        ; check for "BR" opcode
        bne     90$             ;? operation data check

        mov     #DECnet,r0      ; Load DECnet code (or other code into R0)
        jmp     @#0             ; go to extended primary boot

        ; R0 - set to zero for DECnet boot
        ; R1 - has address of QNA #1 or #2

90$:    halt            ;? QNA error, get back to host boot control?
        br      90$

Tim.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »