| 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 | |
| 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 |