Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Preparing for running the emulation

You need two serial ports to do this. First check which serial port connects to the console and which one connects to the tu58 serial port. To connect the tu58 port you might need to create a cable; an example of how that can be done can be found here.

You can do that using minicom and see which of the ports shows the actual console.

In my case the mapping was:

  • /dev/ttyUSB0 → tu58 serial port

  • /dev/ttyUSB1 → Console serial port

A second thing to check is the actual bitrate set for the tu58 serial interface on the pdp-11. It should be set to 38400bps but this speed can be changed, and you need the actual speed. One way to test this is as follows (explained by Geert Rolf):

Assume a given speed, and connect to the serial port using Minicom with that speed.

Now enter the following on the PDP-11’s console (using another serial connection or a terminal):

Code Block
D 17776506 101

This puts the code for the letter ‘A' in the transmit register for the tu58 UART. The result should be that an 'A’ is shown on the minicom window. If not, or if the display is scrambled try the process again with a different bitrate until successful.

Once a candidate bitrate is found you can do one more test.

In the tu58 minicom window press the letter uppercase B.

Then enter the following on the PDP-11’s console:

Code Block
E 17776502

This reads the value in the tu58 UART’s receive register, and this should be 102 (the octal for B).

Running and booting from TU58 disk images

You will need tu58 disk image files; these can be found on several places on the Internet. For my case here I needed the XXDP image files. One set can be found here:

To start work the first step is to start the emulator:

Code Block
sudo ./tu58fs -V -v -p /dev/ttyUSB0 -b 9600 --xxdp \
-d 0 r /home/jal/hobby/MiniMainframes/pdp/geert/tu58xxdp/TU58-15.DSK \
-sd 1 c /home/jal/t/tu58-2

This starts the emulator using ttyUSB0 at 9600bps, and uses the TU58-15.DSK disk image as the tape source. The last path in the command assigns a work directory to expand the disk image into; it should probably change whenever you swap disks.

Next step is to use tu58fs to enter the boot loader and start it:

Code Block
sudo ./tu58fs -p /dev/ttyUSB1 -b 9600 -f 8n1 --boot 1144

This should produce the following output:

...

Checking/setting the TU58 interface’s speed

The speed for the TU58 interface is set on the MFM board (M7096) on switch E7:

...

On my machine they were set as follows:

...

which according to the following table:

...

means it was set to 9600bps. Setting it to 38400 did not work, and switching it back to 9600bps now also failed.. Measuring the switch showed that several of the switches failed to make contact, so I decided to replace the switch. Desoldering the thing showed something special:

...

clearly some rework has been done on the board at some time.

I did not have a 7 switch DIP switch so I had to use an 8 switch one and cut of the legs of the 8th switch:

...

I could now switch to 38400bps for the TU58 which helps a lot with load speed of these diagnostics (wink)

Preparing for running the emulation

You need two serial ports to do this. First check which serial port connects to the console and which one connects to the tu58 serial port. To connect the tu58 port you might need to create a cable; an example of how that can be done can be found here.

You can do that using minicom and see which of the ports shows the actual console.

In my case the mapping was:

  • /dev/ttyUSB0 → tu58 serial port

  • /dev/ttyUSB1 → Console serial port

A second thing to check is the actual bitrate set for the tu58 serial interface on the pdp-11. It should be set to 38400bps but this speed can be changed, and you need the actual speed. One way to test this is as follows (explained by Geert Rolf):

Assume a given speed, and connect to the serial port using Minicom with that speed.

Now enter the following on the PDP-11’s console (using another serial connection or a terminal):

Code Block
D 17776506 101

This puts the code for the letter ‘A' in the transmit register for the tu58 UART. The result should be that an 'A’ is shown on the minicom window. If not, or if the display is scrambled try the process again with a different bitrate until successful.

Once a candidate bitrate is found you can do one more test.

In the tu58 minicom window press the letter uppercase B.

Then enter the following on the PDP-11’s console:

Code Block
E 17776502

This reads the value in the tu58 UART’s receive register, and this should be 102 (the octal for B).

Running and booting from TU58 disk images

You will need tu58 disk image files; these can be found on several places on the Internet. For my case here I needed the XXDP image files. One set can be found here:

To start work the first step is to start the emulator:

Code Block
sudo ./tu58fs -V -v -p /dev/ttyUSB0 -b 9600 --xxdp \
-d 0 r /home/jal/hobby/MiniMainframes/pdp/geert/tu58xxdp/TU58-15.DSK \
-sd 1 c /home/jal/t/tu58-2

This starts the emulator using ttyUSB0 at 9600bps, and uses the TU58-15.DSK disk image as the tape source. The last path in the command assigns a work directory to expand the disk image into; it should probably change whenever you swap disks.

Next step is to use tu58fs to enter the boot loader and start it:

Code Block
sudo ./tu58fs -p /dev/ttyUSB1 -b 9600 -f 8n1 --boot 1144

This should produce the following output:

Code Block
sudo ./tu58fs -p /dev/ttyUSB1 -b 9600 -f 8n1 --boot 1144
[19:20:26 info]  Using serial port /dev/ttyUSB1 at 9600 baud with 8N1 format.
[19:20:26 info]  No simulated drives were specified, emulator not started.

?01 SYN?
>>>D 7000 261
>>>D 7002 12700
>>>D 7004 0
>>>D 7006 12701
>>>D 7010 176500
>>>D 7012 12706
>>>D 7014 2000
>>>D 7016 5004
>>>D 7020 5261
>>>D 7022 4
>>>D 7024 5003
>>>D 7026 4767
>>>D 7030 50
>>>D 7032 5061
>>>D 7034 4
>>>D 7036 5761
>>>D 7040 2
>>>D 7042 12703
>>>D 7044 4004
>>>D 7046 4767
>>>D 7050 34
>>>D 7052 10003
>>>D 7054 4767
>>>D 7056 30
>>>D 7060 5003
>>>D 7062 105711
>>>D 7064 100376
>>>D 7066 116123
>>>D 7070 2
>>>D 7072 22703
>>>D 7074 1000
>>>D 7076 101371
>>>D 7100 5007
>>>D 7102 4717
>>>D 7104 4717
>>>D 7106 4717
>>>D 7110 105761
>>>D 7112 4
>>>D 7114 100375
>>>D 7116 110361
>>>D 7120 6
>>>D 7122 303
>>>D 7124 207
>>>
?01 SYN?
>>>S 7000

...

so I’m going to assume it’s the same issue (power monitor bit set).

Second round of tests (after switching the PSU)

KKAAB0 (CPU + EIS)

Code Block
END OF  CKKAAB0 11/44 CPU/EIS                                                                                          
END OF  CKKAAB0 11/44 CPU/EIS                                                                                          
END OF  CKKAAB0 11/44 CPU/EIS                                                                                          
END OF  CKKAAB0 11/44 CPU/EIS                                                                                          
END OF  CKKAAB0 11/44 CPU/EIS                                                                                          
END OF  CKKAAB0 11/44 CPU/EIS   

KKABD1 (Traps)

Code Block
CKKABD0 11/44 TRAPS                                                                                                    
                                                                                                                       
NO FLOATING POINT OPTION PRESENT                                                                                       
NO CIS OPTION PRESENT                                                                                                  
END OF CKKABD0 11/44 TRAPS                                                                                             
END OF CKKABD0 11/44 TRAPS

KKTAB1 (mmu)

Code Block
CKKTAB 11/44 MEM MGMT PRT A                                                                                            
                                                                                                                       
END PASS #     1  TOTAL ERRORS SINCE LAST REPORT      0                                                                
                                                                                                                       
END PASS #     2  TOTAL ERRORS SINCE LAST REPORT      0                                                                
                                                                                                                       
END PASS #     3  TOTAL ERRORS SINCE LAST REPORT      0                                                                
                                                                                                                       
END PASS #     4  TOTAL ERRORS SINCE LAST REPORT      0                                                                
                                                                                                                       
END PASS #     5  TOTAL ERRORS SINCE LAST REPORT      0                                                                
                                                                                                                       
END PASS #     6  TOTAL ERRORS SINCE LAST REPORT      0                                                                
                                                                                                                       
END PASS #     7  TOTAL ERRORS SINCE LAST REPORT      0  

KKTBD0 (mmu)

Code Block
CKKTBD0 11/44 MEM MGMT PRT B                                                                                                                 
EOP MESSAGES WILL PRINT EVERY 64 PASSES OR ABOUT 11 SECONDS                                                                                  
END PASS #    64                                                                                                                             
END PASS #   128                                                                                                                             
END PASS #   192

KKUAE0 (ubi, map)

Code Block
CKKUAE 11/24/44 UBI MAP                                                                                                                      
DIAGNOSTIC HAS DETERMINED THAT CPU IS AN 11/44                                                                                               
                                                                                                                                             
END PASS #     1                                                                                                                             
                                                                                                                                             
END PASS #     2                                                                                                                             
                                                                                                                                             
END PASS #     3                                                                                                                             
                                                                                                                                             
END PASS #     4                                                                                                                             
                                                                                                                                             
END PASS #     5                                                                                                                             
                                                                                                                                             
END PASS #     6     

KKKA (Cache)

Code Block
CKKKAC0 11-44 KK11B CACHE
RMI REGISTER (G5179) NOT USED-SKIP HI ORDER BIT ADDRESS TEST


UNIBUS  EXERCISER NOT USED- DMA TESTS NOT PERFORMED


END OF PASS #      1
END OF PASS #      2
END OF PASS #      3                    

ZMSP (Memory)

Code Block
 CZMSPC  MS11-L/M/P MEMORY DIAGNOSTIC
   11/44 CACHE AVAILABLE

               CSR MAP

CSR     0 1 2 3 4 5 6 7 8 9 A B C D E F 
MEMTYPE P                               


   512K OF MS11-P
   512K WORDS OF MEMORY TOTAL

                        MEMORY CONFIGURATION MAP
                             16K WORD BANKS
                1       2       3       4       5       6       7  
        012345670123456701234567012345670123456701234567012345670123
ERRORS                                                              
INTRLV  --------------------------------                            
MEMTYPE PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP                            
CSR     00000000000000000000000000000000                            
PROTECT PP                                                          
END PASS #QV     1

ZM9BE0 (Ubi, bootproms)

Code Block
CZM9BE0 M9312/1144 UBI BOOT

DIAG. ROM (E20) (FOR 11-44 UBI: E58)C0

BOOTSTRAP ROM ENTRY POINTS AND DEVICE CODES
LOC.             NO DIAG.       RUN DIAG.       DEVICE CODE

ROM 1(E48)      173004          173006          MS

ROM 2(E49)      173204          173206          DL


PSEUDO POWER-FAIL VECTOR ADR./NEW PC    173024  173052


ROM SEQUENCE IS INCORRECT AS PER INSTALLATION PROCEDURE.

SEQUENCE SHOULD BE:

ROM 1(E48)      DL
ROM 2(E49)      MS

END PASS
END PASS
END PASS
END PASS
END PASS
END PASS

DL = RL01 / RL02 disk

MS = TS04/TU80/TSU05 tape

ZDLDI0 (mfm, slu)

Code Block
CZDLDI0 DL11-W 11/44 MFM SLU
02 DEVICES UNDER TEST  
TRAP CATCHER
TEST#   ERR PC  RCSR    OLDPC   TRAP ADR
000024  014540  176500  007472  000424


CONSOLE
17777707 014544

Second run fails too:

Code Block
CZDLDI0 DL11-W 11/44 MFM SLU
02 DEVICES UNDER TEST  
TRAP CATCHER
TEST#   ERR PC  RCSR    OLDPC   TRAP ADR
000024  014540  176500  007474  000424


CONSOLE
17777707 014544

KFPCD0 (fpu11)

Code Block
CKFPCD0 FP11F FLTG PNT PRT C
EOP MESSAGE WILL PRINT EVERY 1000 PASSES (15 SECONDS)
HIT ANY KEY TO ENABLE/DISABLE EOP MESSAGES

STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040010          040010  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        177700  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040004          040004  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        000000  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040000          040000  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        000001  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040000          040000  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        000175  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040010          040010  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        177601  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040370  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040352  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          047710          047710  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        177756  


END PASS # 1  TOTAL ERRORS THIS PASS 22

STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040010          040010  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        177700  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040004          040004  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        000000  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040000          040000  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        000001  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040000          040000  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        000175  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040364  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040356  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          040010          040010  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        177601  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175020          040362  040370  040200  


STEXP AUTO INCREMENTED/DECREMENTED R0 INCORRECTLY
M7095 ECO # 10 MIGHT NOT BE INSTALLED
  TEST  PC OF CALL      STEXP OP CODE   EXPCTD  RECVED  PC OF ERROR
74      040232          175040          040360  040352  040200  


STEXP A,(R) FAILED.
  TEST. PC OF CALL.     PC OF ERROR.    GOT FPS.        EXPECTED FPS.
74      040300          040200          047710          047710  
AC OPERAND:             123456  076543  177777  177777          
GOT RESULT:             123456  
EXPECTED RESULT:        177756  


END PASS # 2  TOTAL ERRORS THIS PASS 22

Not a happy FPU… KFPA and KFPB do pass though.