- Add 1752 Drum support. Allow shared subroutines across interrupt levels. - Document and add sample scripts for customizing MSOS5.
282 lines
12 KiB
Text
282 lines
12 KiB
Text
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
|