[Simh] VAX 8200

Tim Stark fsword7 at verizon.net
Sun Mar 19 07:55:14 EDT 2017


Yeah. That is good ROM dump utility for other VAX systems when a copy of ROM images are not available for future emulators.

 

That’s why I can’t find firmwares for VAX 4000, VAX 6000, and VAX 8500-8800 that I googled for so far.

 

Thanks,

Tim

 

From: Simh [mailto:simh-bounces at trailing-edge.com] On Behalf Of Rick Murphy
Sent: Saturday, March 18, 2017 11:48 AM
To: simh at trailing-edge.com
Subject: Re: [Simh] VAX 8200

 

On 3/16/2017 11:53 PM, Robert Armstrong wrote:

>Under VMS, PFN map a section to the EEPROM, copy it to normal memory & write it to disk.

  Um, fair enough.  I don’t suppose someone has a program already written to do this?  

  I could have easily done that about ten or fifteen years ago, and in theory I still can, but it’ll probably take an afternoon with the VMS manuals to remember how :)

Here's an example, which I wrote for the MicroVAX. Took me a bit to find this.

The program creates a file called ROM.EXE and copies the boot ROM into that file.
Note the "                        vbn=#<^X20040000/512>"  line - that says that the ROM is mapped into physical address 20040000 on that system. Likely different for others. Size of the ROM is calculated by the "page_count" variable.
    -Rick

        .title  copyrom - Copy the rom
        .psect  data    rd, wrt, nopic, noshr, noexe, long
        .library        /sys$Library:lib/
        $iouv2def
        $secdef
        .psect  data    rd, wrt, nopic, noshr, noexe, long

        page_count = ^X10000/^X200

file_fab:       $FAB    ALQ=page_count,-
                        FAC=<GET,PUT>,-
                        FNM=<ROM.EXE>,-
                        FOP=UFO

p1_space:       .quad   0

copy_sec_base:  .long   0
                .long   0

rom_sec_base:   .long   0
                .long   0
buf_descr:      .long   80
                .address        buffer
buffer:         .blkb   80

format:         .ascid  /Checksum is !XW/

        .psect  code    rd, nowrt, pic, noshr, exe, long

        .entry  go, ^m<>

        $create fab=file_fab
        blbs    r0, 10$
        ret

10$:    $crmpsc_s       inadr=p1_space,-
                        retadr=copy_sec_base,-
                        flags=#<sec$m_expreg!sec$m_wrt>,-
                        chan=file_fab+fab$l_stv
        blbs    r0, 20$
        ret

20$:    $crmpsc_s       inadr=p1_space,-
                        retadr=rom_sec_base,-
                        flags=#<sec$m_expreg!sec$m_pfnmap>,-
                        pagcnt=#page_count,-
                        vbn=#<^X20040000/512>
        blbs    r0, 30$
        ret
30$:    movl    rom_sec_base, r0
        movl    copy_sec_base, r1
        movl    #^x10000/2, r2
40$:    movw    (r0)+, (r1)+
        sobgtr  r2, 40$
        movl    #1,r0
        ret
        .end    go

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20170319/31b53a67/attachment-0001.html>


More information about the Simh mailing list