Running Diagnostics on the CDC 1700 Simulator ============================================= 1. Overview The diagnostics system (System Maintenance Monitor) is available from bitsavers.org as bits/CDC/1700_Cyber18/20100517/SYSTEM17_SMM_DIAGS.TAP. The simulator is able to boot this tape and has successfully run the following diagnostics with some caveats (for more detailed information see pdf/CDC/1700/SMM17 at bitsavers.org). In some cases the diagnostics fail to run correctly on the simulator for various reasons: - Some tests require hardware modifications or special cabling - Some tests perform timing checks which are difficult to implement in the simulator without further documentation or access to the diagnostic source code - Some tests check for features which are not implemented in the simulator. E.G. The disk controllers write Checkwords (CRC) for each sector written but the documentation does not specify the CRC algorithm in sufficient detail to allow the simulator to correctly simulate the feature. Partial listing from the maintenance monitor: FF QL1 12166 04EB Quick Look 1 (basic instruction set test) Passed FE QL2 10196 095C Quick Look 2 (more detailed instruction set test) Passed with and without protect mode enabled 01 COM 12166 0990 Comprehensive instruction set test Passed 03 PTP 12166 05B8 1723/77 Paper Tape Punch Test Passed (Interrupt + character mode) 04 PTR 12166 03C8 1721/77 Paper Tape Reader Test Passed (Interrupt + Character mode) 05 TTY 10226 093B 1711/1712/1713 Teletype Test Passed 08 DP1 12166 0EE6 1738 Disk Pack Test Passed (Single/dual 854, overlapped seeks) 0A BD1 10076 08BD 1706 Buffered Data Channel Test Passed (Need to use non-interrupt TTY output) 0C LP1 11056 07E7 1740/1742/93x2 Line Printer Test Passed 15 MT3 09306 0A96 1732 Magnetic Tape Test Passed sections 0 - 5. Section 6 fails 1C CMD 12166 07C6 4KW Command Test Passed 4B PET 12166 0C14 1732-2/1732-3 Magnetic Tape Test Passed in programmed I/O mode Failed in DMA mode 80 DRM 11086 2702 BG504 Drum Test Passed 91 RTC 10216 04DA System 17 Real Time Clock Test Passed In addition the following tests were run but are not available on the above tape: 7A MDC 10186 1CE9 1733-2 Multiple Drive Cartridge Disk Test Fails seek timing and checkword tests 2. Running diagnostics Detailed information on running the System Maintenance Monitor can be found at bitsavers.org in "pdf/cdc/1700/smm17". Here is a sample test run of the COMmand test (test 01), a CPU instruction test, using the default settings for running the test: Sample test run of the COMmand test (test 01), a CPU instruction test. Note that SMM uses a private bootstrap and we have to load that into the simulator by hand (User input to SMM17 is marked with "<==="): CDC1700 simulator V4.0-0 Beta git commit id: 9d2079df sim> attach mt0 SYSTEM17_SMM_DIAGS.TAP sim> do -v CDC1700/smm32KMTboot CDC1700/smm32KMTboot-6> echo Loading SMM17 MT bootstrap (32KW) Loading SMM17 MT bootstrap (32KW) CDC1700/smm32KMTboot-7> echo CDC1700/smm32KMTboot-9> set cpu sstop CDC1700/smm32KMTboot-10> set mt0 locked CDC1700/smm32KMTboot-11> set dca interrupt=F CDC1700/smm32KMTboot-12> boot -S mt0 PROGRAM PROTECT NOT SET PROTECTED TEST NOT RUN SMM17 VERSION 4.0 CP2F COPYRIGHT CONTROL DATA CORP. 1974 BUILD TEST LIST 0000 / 0000? 0101 <==================== High byte is test # (COM) Low byte is repetition count 0000 / 0000? COM001 COMMAND TEST. IA = 0A00, FC = 01 CP2F, VERSION 4.0 0121 / 020D? <========================= Return to keep defaults 0044 / 0BB8? <========================= A1 Q1 A2 Q2 0121 020D 0044 0BB8 0124 020D 0001 0A17 0124 / 020D? Simulation stopped, P: 0837 (P 0DFE INQ $FE) If a test terminates with A1 containing xxy4 (where xx is the test # and y is the number of register pairs to be displayed) it was successful. If it terminates with A1 containing xxy8, the test failed and the remaining registers indicate what and where the failure occured (format is test dependent). 3. Scripts for running SMM17 These scripts allow SMM17 to be run with various test features enabled. All of the scripts assume that a bootable SMM17 tape image is attached to mt0. 3.1 Basic SMM17 boot sequence echo Loading SMM17 echo set cpu sstop set mt0 locked boot -S mt0 3.2 Use Buffered Data Channel #1 for tape access echo Loading SMM17 - Uses BDC #1 echo set cpu sstop set mt0 locked set dca interrupt=F boot -DS mt0 3.3 Load MBS and use non-interrupt driven TTY output echo Loading SMM17 echo - MBS loaded echo - Non-interrupt driven TTY output echo set cpu sstop set cpu sskip set mt0 locked boot -S mt0 c d a 31E0 set cpu nosskip set cpu nosstop c 4. Notes on specific diagnostic tests MBS (Monitor Based Subroutine package) must be loaded for tests 0F and 4B. Test 0F (BD2, 1706/1716 Data Channel Test) requires a 7-track tape for section 4 (relies on the controller masking the output to 6-bits). Test 0F (BD2, 1706/1716 Data Channel Test) gets an error 0004 with Q set to 001C! The problem seems to be related to returning 7-track status in Director Status 2 (if I disable setting IO_ST2_7TRACK everything works correctly for sections 2 and 4). Test 4A (MTX, 1731/1732 Mag Tape Test) hangs while writing to the TTY. The source listing (60411400C...) does not match the code loaded from the magtape image. Test 4B (PET, 1732-2/-3 Mag Tape subsystem test) can only be used if the mag tape controller type is set to 1732-3. The test can access the controller in 2 modes; programmed I/O which only works up to 800 BPI and DMA (called DSA) which works up to 1600 BPI. In programmed I/O mode the tests complete successfully. In DSA mode, the test fails during the first read from tape (writes work successfully) with a timeout waiting for "end of operation". My current hypothesis is that the controller asserts "end of operation" when all of the data has been transferred to the CPU but delays generating an interrupt until it has processed the CRC at the end of the block. I would need to look at the test source listing before making any changes. Test 7A (MDC, 1733-2 Cartridge Disk Controller) passes most test. The seek timing test fails - I don't want to debug this without source listings. The checkword test fails since we don't store the checkword data in the emulated storage and it is not clear there is sufficient documentation to be able to construct a valid checkword on the fly. 5. Directory listing of the SMM17 tape (with descriptions) BIN QL FF QL1 12166 04E8 Quick Look 1 FE QL2 10196 095C Quick Look 2 FC DPC 09146 0685 Disk Call-up Program 00 SMM 11046 10A3 System Maintenance Monitor 01 COM 12166 0990 Command Test 02 MY2 12166 0753 Memory Test 03 PTP 12166 05B8 1723/77 Paper Tape Punch Test 04 PTR 12166 03C8 1721/77 Paper Tape Reader Test 05 TTY 10226 093B 1711/12/13 Teletype Test 07 MT1 07046 0980 1731 Magnetic Tape Test 08 DP1 12166 0EE6 1738 Disk Pack Test 09 RPT 12166 023D Random Protect Test 0A BD1 10076 08BD 1706 Buffered Data Channel Test 0B SC1 12166 0A2E Satellite Coupler Test 0C LP1 11056 07E7 1740/42/93X2 Line Printer Test 0D CRP 10154 0C46 1728 Card Reader/Punch Test 0E MT2 11036 0BCA 1731 Magnetic Tape Test 0F BD2 10076 0A0B 1706/1716 Data Channel Test 10 DTB 10154 08A4 1700/8000 - 8049-A, 211 Display Test 11 DSC 04122 092F 1700 Data Set Controller Test 12 MY1 10186 0834 Memory Test 13 CR3 11056 0B46 1729-2/3 Card Reader Test 14 MEM 07046 0612 Memory Test 17 CR2 10154 0AE1 1726/405 Card Reader Test 1C CMD 12166 07C6 4K Command Test 1D DDT 07046 0BB1 1745-2 Display Test. Version 4.0 1E MOS 07046 05AF MOS Memory Test 1F MTS 10206 053B 1731/32 Special Test 20 DS1 11056 0989 1747 DSC Test 23 LP5 10196 0F06 1742-120 Line Printer Test W/595-4 Train 27 DP3 10154 1517 1700 Disk Subsystem Test 2D UD3 08012 0971 3000 Channel Simulator Program Update 30 RX1 09246 148E 1700/FF104/955 System Test 31 LR1 09247 16C4 Unknown 32 LDR 09096 0182 Unknown 34 RX4 09166 12E9 Unknown 35 OCR 12146 1727 1735/915 OCR035 Test 36 AQM 11086 1327 DJ814A A/Q Communications Multiplexer (NUMOD) Test 3B DMP 10154 01F9 Printer/TTY Dump 3D SAS 08012 0EE6 3000 Channel Simulator Assembler 3E EDT 12166 0805 17X4 Library Editing Routine 40 DDC 11086 0B5B 1745/1746/211 Display Station Test 42 CLK 08176 0994 10126 Interval Timer - Day Clock Test 43 CTC 10216 1C90 1749 Communications Terminal Test 4A MTX 10076 11A8 1731/1732 Mag Tape Test 4B PET 12166 0C14 1732-2/1732-3 Magnetic Tape Test 4C HOR 10233 0FC9 1500 Series Remote Peripheral Controller Diagnostic 56 BC2 07155 15AC SC17/1700 FR101 MEM/COM/IFP Test 57 UD1 01303 0774 1700 Source/6000 TVC Update 59 BC3 07155 0967 SC17/1700/FR101/FR113 Interface Test 60 KEY 04016 0D8F Cyberdata Key Entry Station Test 61 RST 12146 0FD3 979 Reader/Sorter Test 69 PAD 11086 0CCF Punch the 1726/405 Test Deck 6F DG4 02022 2340 1744/274 Digigraphic Test 70 GT0 10154 0623 GPGT Troubleshooting Test 71 GT1 10086 2880 GPGT DCI Test 72 GT2 07155 2842 GPGT Display Quality Test 73 GT3 10154 0C8B GPGT Light Pen And Keyboard Test 74 GT4 12112 0A25 GPGT Communications Test 75 GT5 10154 0827 GPGT Communications Test (12 Bit Interface) 76 GT6 10154 0C87 GPGT Specification Vertification Test 78 CDD 07046 19AD 1739 Cartridge Disk Controller Test 80 DRM 11086 2702 BG504 Drum Test 81 CTR 07046 092C FR117 Event Counter Subsystem Test 83 DIO 11096 06F3 1553/54 1544/45 Digital Input/Output Subsystem Test 84 DP5 07046 0F7C 1738 Quick Look Test 86 ACC 07155 0A81 Asynchronous Communication Controller (DJ815-A) Test 87 SCC 07155 0BCD Synchronous Communication Controller (FJ606-A) Test 88 CPC 10216 0E5C 1725-1 Card Punch Test 89 BSC 11196 0CC3 Cyberdata Bisync Controller Test 8A HFP 07046 1CDE 1781-A Hardware Floating Point Unit Test 90 IOM 11096 0B8B IOM Mother Unit Digital Input/Output Test 91 RTC 10216 04DA System 17 Real Time Clock Test 92 PT1 10205 0617 1720-1 Paper Tape Punch Test 93 PT2 10205 05B1 1720-1 Paper Tape Reader Test D0 CPY 07046 02CC Tape To Tape Copy F0 CPV 10216 03FB Card Punch Verify Utility FB REP 10216 14E2 Replace/Update 17X4 SMM Disk Library FD INS 10216 0965 Mass Storage Maintenance System Installation Program