• Please review our updated Terms and Rules here

I need help to configure a DEC MRV11-C board for the usage with MXV11-A boot roms.

@daver2: As I have understood until now is, that the boot multiplexer of the MRV11-C can be configured with my 2716 EPROMS either with a starting address with an offset of 3000 or 7000 depending on the chipset position. Due to the fact that at an offset of 7000 there is nothing in the ROM, the only "useful" address is at offset 3000. This is, what I see, when I read the code at 773000. It seems to be the content of the ROM beginning at offset 3000 and I have no idea if this makes any sense?
// Peter
 
But isn't that the TU58 bootstrap that you wanted (OK, we have lost the multi boot feature now)?

By the looks of the initial instruction it may be written in position independent code (PIC) but by continuing the disassembly from there, is there any absolute reference to anything (apart from the DLV11 at 176500)?

Dave
 
I like the idea of doing an experiment so that we have absolute knowledge of which part of the EPROM image is mapped into 773000 upwards.

Fill a 2716 EPROM with zeros and install in the high byte.

Full another 2716 with 256 00h, followed by 256 01h followed by 256 02h, etc. Install in the low byte.

Use ODT to look at the boot address 773000 upwards. This will tell us exactly what we want to know.

Dave
 
@daver2: I created now two 2k EPROM images with test data on my Debian box, based on what you suggested, as well as a binary image of the TEST.rom:

Code:
#!/bin/bash

romlow="TEST_LO.bin"
romhigh="TEST_HI.bin"

wlow() {
>$romlow
for a in {64..67}
do
        ax=$( printf "%x" $a )
        for i in {0..255}
        do
                hx=$( printf "%x" $i )
                output="\x$ax\x$hx"
                printf "%b" $output >>$romlow
        done
done
}

whigh() {
        >$romhigh
        dd if=/dev/zero of=$romhigh bs=2048 count=1
}

wcomb() {
        romwak /m $romlow $romhigh TEST.rom
}

wlow
whigh
wcomb

The content of the TEST.rom with od is:

Code:
od -w4 TEST.rom
0000000 000100 000000
0000004 000100 000001
0000010 000100 000002
.
.
0001000 000100 000200
0001004 000100 000201
0001010 000100 000202
.
.
0002000 000101 000000
0002004 000101 000001
0002010 000101 000002
.
.
0003000 000101 000200
0003004 000101 000201
0003010 000101 000202
.
.

Then I will hopefully see with ODT where I end up when I enter 773000 ...

// Peter
 

Attachments

  • TEST.zip
    3.3 KB · Views: 1
It perfectly worked!
@daver2: Thanks a lot for your great idea - now it is clear that the board directs me to the position 0003000 in the ROM.

This is the beginning of my ODT read at 773000:
Code:
773000/000101
773002/000200
773004/000101
773006/000201
773010/000101
773012/000202
.
.

This is the board with the 2 test EPROMs:
20240310_133034.jpg

The complete ODT read, from the test ROM at 773000 is also attached.

Now my question @Hunta and @daver2: is this a TU58 boot code at 0003000 and what if I create a ROM where I add zeros at the beginning in order to shift the content?

Kind regards,
// Peter
 

Attachments

  • 240310_ODT_read_test_roms.txt
    3.8 KB · Views: 2
I changed your suggestion a little bit in order to get 4 unique blocks in the test ROM.
Therefor I changed your suggested 256 with "100 - 103" and then filled up each block with "0 - 255"

Code:
wlow() {
>$romlow
for a in {64..67}
do
        ax=$( printf "%x" $a )
        for i in {0..255}
        do
                hx=$( printf "%x" $i )
                output="\x$ax\x$hx"
                printf "%b" $output >>$romlow
        done
done
}

// Peter
 
As long as you know what you did and are happy...

I will check the code at 3000 sometime later (after I have done my chores fir the afternoon).

There should be no necessity to 'fill' the file with 0x00. You should be able to extract the appropriate 256 words from the combined file image into a separate binary file, and then apply an offset in the EPROM programmer when you download the file.

Dave
 
@daver2: ...yes I am happy - the shift of the code does exactly what I hoped - now 773000G executes a multi device boot code and my PDP11/23 boots from DY0 as well as from DY1 :)
20240310_182952.jpg20240310_183058.jpg
Unfortunately I currently have no RL devices connected to my system but I am sure that it would also boot from them ...
I attached my ODT read capture and the boot of the RT11 OS here as well.

Thanks a lot to you folks, your input helped me a lot, to understand how the MRM11-C works!
I will also upload the modified MXV11-A ROM images for you ...

// Peter
 

Attachments

  • 240310_ODT_read_mxv11-a_and_boot_with_offset.txt
    5.4 KB · Views: 0
Well done.

If in doubt (as you have seen) write something 'noddy' as a test. It is usually faster at arriving at a solution than playing with links and guessing!

Dave
 
Here are the modified MXV11-A ROM images which work as multi-diskboot images on the MRV11-C.
I uploaded both, raw binaries as well as intel hex files.
I named them 23s039D1 and 23s040D1 - the "s" stands for "shifted" - enjoy!

// Peter
 

Attachments

  • roms.zip
    3.2 KB · Views: 1
Not yet, because I need to re-setup the emulator - something went wrong at my first try, probably related to my 2nd USB to RS232 adapter - I will try it and keep you informed!

// Peter
 
Back
Top