[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