Reading the PROMs from the M8047 MXV11-A Multi Purpose Card

The M8047 MXV11-A Multi Purpose Card board has DEC Boot PROMs, two sockets for up to 2x4 KBytes. I tried to read the data on these >40 years old EEPROMs.

For the two PROMs on the board, I could find the DEC part numbers 23-03901-00 and 23-04001-00 on them, which are 6341 Chips with 512x8 Bytes each. These ROMs are MXV 11-A2 Boot ROMs for RX02, RX01, or TU58

With My Batronix Barlino II Eprommer I was able to read out both ROMs (more info on the Eprommer see here. I needed to create a small adapter. The PROMs contain LO and HI bytes and combine to a 16 bit PDP11 word.

The chip with pcb board number E67 (“outer” one) has HI bytes in.

After reading out both PROMs, the original boot code could be recreated by merging both data sets into one file.

Result is a 512 word file, with size of 1024 bytes of course.

This file can be disassembled by a PDP11 disassembler. The result is listed below.

I can not verify that the data is 100% valid. The PROMs were burned in 1981 or later, I suspect not much later than that, because newest date code on the board is from 1980.

So as of today, 2022, these PROMs keep their content for, ehm, 42 years. Wow.

That’s what a disassembler dumps out from my file. There are some “invalid opcode” lines:

;
; pdp11dasm version 0.0.3
; disassembly of output-lo-hi
;
000000: 012700 000340           mov     #340,r0                 ; @.`.
000004: 106400                  mtps    r0                      ; ..
000006: 000005                  reset                           ; ..
000010: 111701                  movb    (r7),r1                 ; A.
000012: 005004                  clr     r4                      ; ..
000014: 012721 173032           mov     #173032,(r1)+           ; Q..v
000020: 010011                  mov     r0,(r1)                 ; ..
000022: 011706                  mov     (r7),r6                 ; F.
000024: 011414                  mov     (r4),(r4)               ; ..
000026: 005724                  tst     (r4)+                   ; T.
000030: 000775                  br      24                      ; }.
;
000032: 005744                  tst     -(r4)                   ; d.
000034: 005003                  clr     r3                      ; ..
000036: 005002                  clr     r2                      ; ..
000040: 010212                  mov     r2,(r2)                 ; ..
000042: 005722                  tst     (r2)+                   ; R.
000044: 020204                  cmp     r2,r4                   ; . 
000046: 101774                  blos    40                      ; |.
000050: 024202                  cmp     -(r2),r2                ; .(
000052: 001401                  beq     56                      ; ..
000054: 000000                  halt                            ; ..
;
000056: 005702                  tst     r2                      ; B.
000060: 001373                  bne     50                      ; {.
000062: 010322                  mov     r3,(r2)+                ; R.
000064: 020204                  cmp     r2,r4                   ; . 
000066: 101775                  blos    62                      ; }.
000070: 005103                  com     r3                      ; C.
000072: 074342                  xor     -(r2),r3                ; bx
000074: 005112                  com     (r2)                    ; J.
000076: 001401                  beq     102                     ; ..
000100: 000000                  halt                            ; ..
;
000102: 005103                  com     r3                      ; C.
000104: 074312                  xor     (r2),r3                 ; Jx
000106: 005702                  tst     r2                      ; B.
000110: 001367                  bne     70                      ; w.
000112: 005103                  com     r3                      ; C.
000114: 001362                  bne     62                      ; r.
000116: 010406                  mov     r4,r6                   ; ..
000120: 004567 000574           jsr     r5,720                  ; w.|.
000124: 173300                  subf    f3,r0                   ; @v
000126: 174400                  divf    f0,r0                   ; .y
000130: 012702 000010           mov     #10,r2                  ; B...
000134: 012700 174404           mov     #174404,r0              ; @..y
000140: 012720 000013           mov     #13,(r0)+               ; P...
000144: 004567 000074           jsr     r5,244                  ; w.<.
000150: 000004                  iot                             ; ..
000152: 032711 000001           bit     #1,(r1)                 ; I5..
000156: 001011                  bne     202                     ; ..
000160: 016103 000006           mov     6(r1),r3                ; C...
000164: 042703 177730           bic     #177730,r3              ; CEX.
000170: 001443                  beq     300                     ; #.
000172: 022703 000006           cmp     #6,r3                   ; C%..
000176: 101440                  blos    300                     ;  .
000200: 000755                  br      134                     ; m.
;
000202: 004514                  jsr     r5,(r4)                 ; L.
000204: 000010                  invalid opcode                  ; ..
000206: 011003                  mov     (r0),r3                 ; ..
000210: 042703 000177           bic     #177,r3                 ; CE..
000214: 005203                  inc     r3                      ; ..
000216: 010340                  mov     r3,-(r0)                ; `.
000220: 004514                  jsr     r5,(r4)                 ; L.
000222: 000006                  rtt                             ; ..
;
000224: 005037 174402           clr     @#174402                ; ...y
000230: 005020                  clr     (r0)+                   ; ..
000232: 012710 177400           mov     #177400,(r0)            ; H...
000236: 004514                  jsr     r5,(r4)                 ; L.
000240: 000014                  invalid opcode                  ; ..
000242: 000413                  br      272                     ; ..
;
000244: 010704                  mov     r7,r4                   ; D.
000246: 012511                  mov     (r5)+,(r1)              ; I.
000250: 032711 100200           bit     #100200,(r1)            ; I5..
000254: 001775                  beq     250                     ; }.
000256: 100401                  bmi     262                     ; ..
000260: 000205                  rts     r5                      ; ..
;
000262: 005726                  tst     (r6)+                   ; V.
000264: 077255                  sob     r2,134                  ; -~
000266: 000000                  halt                            ; ..
;
000270: 000713                  br      120                     ; K.
;
000272: 005000                  clr     r0                      ; ..
000274: 004567 000406           jsr     r5,706                  ; w...
000300: 004567 000414           jsr     r5,720                  ; w...
000304: 173442                  cmpf    f0,-(r2)                ; "w
000306: 177412                  ldcdf   f0,(r2)                 ; ..
000310: 004567 000430           jsr     r5,744                  ; w...
000314: 005003                  clr     r3                      ; ..
000316: 012701 177412           mov     #177412,r1              ; A...
000322: 010311                  mov     r3,(r1)                 ; I.
000324: 005041                  clr     -(r1)                   ; !.
000326: 012741 177400           mov     #177400,-(r1)           ; a...
000332: 012741 000005           mov     #5,-(r1)                ; a...
000336: 032711 100200           bit     #100200,(r1)            ; I5..
000342: 001775                  beq     336                     ; }.
000344: 100010                  bpl     366                     ; ..
000346: 012711 000001           mov     #1,(r1)                 ; I...
000352: 105711                  tstb    (r1)                    ; I.
000354: 100376                  bpl     352                     ; ~.
000356: 062703 020000           add     #20000,r3               ; Ce. 
000362: 103355                  bcc     316                     ; m.
000364: 000426                  br      442                     ; ..
;
000366: 010300                  mov     r3,r0                   ; @.
000370: 006300                  asl     r0                      ; @.
000372: 006100                  rol     r0                      ; @.
000374: 006100                  rol     r0                      ; @.
000376: 006100                  rol     r0                      ; @.
000400: 004567 000302           jsr     r5,706                  ; w.B.
000404: 000764                  br      356                     ; t.
;
000406: 004567 000306           jsr     r5,720                  ; w.F.
000412: 173120                  subf    f1,(r0)+                ; Pv
000414: 177000                  ldcif   f0,r0                   ; .~
000416: 005011                  clr     (r1)                    ; ..
000420: 012700 001000           mov     #1000,r0                ; @...
000424: 016040 157776           mov     157776(r0),-(r0)        ;  .~_
000430: 005700                  tst     r0                      ; @.
000432: 001374                  bne     424                     ; |.
000434: 004567 000246           jsr     r5,706                  ; w.&.
000440: 000627                  br      120                     ; ..
;
000442: 004567 000252           jsr     r5,720                  ; w.*.
000446: 173406                  cmpf    f0,r6                   ; .w
000450: 177172 004567           ldcif   f1,@4567(r2)            ; z~w.
000454: 000272                  invalid opcode                  ; :.
000456: 005046                  clr     -(r6)                   ; &.
000460: 000404                  br      472                     ; ..
;
000462: 012700 000020           mov     #20,r0                  ; @...
000466: 074016                  xor     (r6),r0                 ; .x
000470: 001746                  beq     406                     ; f.
000472: 111600                  movb    (r6),r0                 ; ..
000474: 004567 000154           jsr     r5,654                  ; w.l.
000500: 000013                  invalid opcode                  ; ..
000502: 111102                  movb    (r1),r2                 ; B.
000504: 100366                  bpl     462                     ; v.
000506: 012703 000100           mov     #100,r3                 ; C.@.
000512: 032702 000040           bit     #40,r2                  ; B5 .
000516: 001403                  beq     526                     ; ..
000520: 052700 000400           bis     #400,r0                 ; @U..
000524: 006303                  asl     r3                      ; C.
000526: 005002                  clr     r2                      ; ..
000530: 012705 000001           mov     #1,r5                   ; E...
000534: 004567 000114           jsr     r5,654                  ; w.L.
000540: 000007                  mfpt                            ; ..
000542: 010511                  mov     r5,(r1)                 ; I.
000544: 004514                  jsr     r5,(r4)                 ; L.
000546: 012711 000001           mov     #1,(r1)                 ; I...
000552: 004514                  jsr     r5,(r4)                 ; L.
000554: 100714                  bmi     406                     ; L.
000556: 004567 000072           jsr     r5,654                  ; w.:.
000562: 000003                  bpt                             ; ..
000564: 032737 004000 177170    bit     #4000,@#177170          ; _5..x~
000572: 001413                  beq     622                     ; ..
000574: 010311                  mov     r3,(r1)                 ; I.
000576: 004514                  jsr     r5,(r4)                 ; L.
000600: 010211                  mov     r2,(r1)                 ; ..
000602: 004514                  jsr     r5,(r4)                 ; L.
000604: 122525                  cmpb    (r5)+,(r5)+             ; U%
000606: 060302                  add     r3,r2                   ; B`
000610: 060302                  add     r3,r2                   ; B`
000612: 022702 001000           cmp     #1000,r2                ; B%..
000616: 001346                  bne     534                     ; f.
000620: 000404                  br      632                     ; ..
;
000622: 006303                  asl     r3                      ; C.
000624: 111122                  movb    (r1),(r2)+              ; R.
000626: 004514                  jsr     r5,(r4)                 ; L.
000630: 077303                  sob     r3,624                  ; C~
000632: 005000                  clr     r0                      ; ..
000634: 105716                  tstb    (r6)                    ; N.
000636: 001401                  beq     642                     ; ..
000640: 005200                  inc     r0                      ; ..
000642: 005741                  tst     -(r1)                   ; a.
000644: 004567 000036           jsr     r5,706                  ; w...
000650: 005721                  tst     (r1)+                   ; Q.
000652: 000703                  br      462                     ; C.
;
000654: 012504                  mov     (r5)+,r4                ; D.
000656: 050004                  bis     r0,r4                   ; .P
000660: 010437 177170           mov     r4,@#177170             ; ..x~
000664: 010704                  mov     r7,r4                   ; D.
000666: 005741                  tst     -(r1)                   ; a.
000670: 032711 000240           bit     #240,(r1)               ; I5 .
000674: 001775                  beq     670                     ; }.
000676: 005721                  tst     (r1)+                   ; Q.
000700: 000205                  rts     r5                      ; ..
;
000702: 005737 170000           tst     @#170000                ; _..p
000706: 022737 000240 000000    cmp     #240,@#0                ; _% ...
000714: 001024                  bne     766                     ; ..
000716: 005007                  clr     r7                      ; ..
000720: 012537 000004           mov     (r5)+,@#4               ; _...
000724: 012737 000340 000006    mov     #340,@#6                ; _.`...
000732: 012501                  mov     (r5)+,r1                ; A.
000734: 012706 004000           mov     #4000,r6                ; F...
000740: 005711                  tst     (r1)                    ; I.
000742: 000115                  jmp     (r5)                    ; M.
;
000744: 004517                  jsr     r5,(r7)                 ; O.
000746: 004517                  jsr     r5,(r7)                 ; O.
000750: 012700 000004           mov     #4,r0                   ; @...
000754: 010604                  mov     r6,r4                   ; ..
000756: 005003                  clr     r3                      ; ..
000760: 010710                  mov     r7,(r0)                 ; H.
000762: 010406                  mov     r4,r6                   ; ..
000764: 077332                  sob     r3,702                  ; Z~
000766: 000205                  rts     r5                      ; ..
;
000770: 000000                  halt                            ; ..
000774: 000000                  halt                            ; ..
... 
001776: 000000                  halt                            ; ..

End of document.