5 816E CPU diagnostic, part 1 passed 16b n/a
6 816E CPU diagnostic, part 2 partial 16b n/a
7 Series 16 CPU diagnostic, part 1 passed 16b n/a
8 16b memory diagnostic, part 1 passed 16b n/a
9 16b memory diagnostic, part 2 passed 16b n/a
10 816e extended memory diagnostic passed 16b n/a
11 Series 16 selector channel diagnostic passed 16b n/a
12 32b CPU diagnostic, part 1 n/a passed 32b
13 32b CPU diagnostic, part 2 n/a passed 32b
14 32b CPU diagnostic, part 3 n/a passed 32b
15 32b memory diagnostic, part 1 n/a passed 32b
16 32b memory diagnostic, part 2 n/a passed 32b
17 32b memory diagnostic, part 3 n/a passed 32b
18 32b memory diagnostic 6a, part 1 n/a passed 32b
19 32b memory diagnostic 6a, part 2 n/a passed 32b
20 32b MAC diagnostic, part 1 n/a passed 32b
21 32b MAC diagnostic, part 2 n/a passed 32b
22 Common line printer diagnostic passed 16b passed 32b
23 Common magtape diagnostic passed 16b passed 32b
24 Common 2.5/10MB disk diagnostic passed 16b passed 32b
25 32b MSM disk diagnostic passed 32b
26 Common floppy disk diagnostic passed 16b passed 32b
27 Common clock diagnostic passed 16b passed 32b
31 - 32b double precision floating point
35 -------------------------------------------------------------------
37 Operating Instructions
39 816E CPU diagnostic, part 1
42 sim> att -e pt0 diag.bin
46 Breakpoint: PC: 00C2 (EXBR R8,R6)
50 MODEL 8/16E PROCESSOR TEST PART 1 06-211R00
62 816E CPU diagnostic, part 2
65 sim> d tt ttime 1000 ; timing dependency
66 sim> att -e pt0 diag.bin
70 Breakpoint: PC: 00C2 (EXBR R8,R6)
74 MODEL 8/16E PROCESSOR TEST PART 2 06-212R00
80 * (type subtest number)
82 Subtests 0, 1, 2, 5, 7, 8, 9 run correctly
83 Subtest 3, 4 cannot be run (initialization, power fail)
84 Subtest 6 cannot be run (hexadecimal display)
87 Series 16 CPU diagnostic, part 1
88 (Central error routine is at 21F4)
91 sim> att -e pt0 diag.bin ; diagnostic
95 Breakpoint, PC: 00C0 (8800)
97 sim> d 234a 0202 ; patch to use
98 sim> d 234c a4a8 ; TTY as console
102 SERIES SIXTEEN PROCESSOR TEST PART 1 06-242F01R00
118 16b memory diagnostic, part 1
120 sim> att -e pt0 diag.bin ; diagnostic
124 Breakpoint, PC: 00C2 (EPSR R7,R6)
128 02-340 PART 1 06-162F01R01
133 16b memory diagnostic, part 2
135 sim> att -e pt0 diag.bin ; diagnostic
139 Breakpoint, PC: 00C2 (EPSR R7,R6)
143 02-340 PART 2 06-162F02R01
148 816e extended memory diagnostic, parts 1 and 2
152 sim> att -e pt0 diag.bin ; diagnostic
156 Breakpoint, PC: 00B4 (LPSW R0,B8)
160 8/16 E EXTENDED MEMORY TEST PART 1 06-221R00
162 * (CR to repeat part 1)
163 8/16 E EXTENDED MEMORY TEST PART 1 06-221R00
165 * (LF to go on to part 2)
167 Breakpoint, PC: 00B4 (LPSW R0,B8)
170 8/16 E EXTENDED MEMORY TEST PART 2 06-221R00
171 PROGRAM DETECTED MAXIMUM MEMORY 3FFFE
172 *TEST ; standard tests
188 Series 16 selector channel diagnostic
192 sim> att -e pt0 diag.bin ; diagnostic
193 sim> att mt0 foo.tap ; magtape to test
197 Breakpoint, PC: 00C0 (LPSW R0,C8)
199 sim> d 2e68 2 ; console is TTY
202 S16 SELCH TEST 06-222 R01
205 * IODEV1 C5 ; magtape
207 * RUN ; bank 0 by default
229 * MEMMOD 1 {2,3} ; repeat for banks 1,2,3
253 32b CPU diagnostic, part 1
255 sim> att -e mt0 mmd_r07.tap
256 sim> d -b 7f 7 ; file 8 on MMD R07 tape
268 32b CPU diagnostic, part 2
270 sim> set tt 7b ; test is parity sensitive
271 sim> att -e mt0 mmd_r07.tap
272 sim> d -b 7f 8 ; file 9 on MMD R07 tape
281 * (type subtest number)
283 Subtests 1, 3, 4, 5, 9 run correctly
284 Subtest 2 cannot be run (7/32 with halfword mode only)
285 Subtest 6 cannot be run (hexadecimal display)
286 Subtests 7,8 cannot be run (initialization, power fail)
289 32b CPU diagnostic, part 3
291 sim> att -e mt0 mmd_r07.tap
292 sim> d -b 7f 9 ; file 10 on MMD R07 tape
298 8X ; 7X denotes 7/32 with halfword mode
299 MAC RESPONSE AT 000300
304 Subtests 1, 2, 3 run correctly
305 Subtest 4 cannot be run (parity option)
308 32b memory diagnostic, part 1
310 sim> att -e mt0 mmd_r07.tap
311 sim> d -b 7f 17 ; file 24 on MMD R07 tape
315 Breakpoint, PC: 02000 (B 2060)
316 sim> d -w 2010 0202 ; console is TTY
320 MAC PRESENT ? (Y OR N)
333 32b memory diagnostic, part 2
335 sim> att -e mt0 c:\temp\mmd_r07.tap
336 sim> d -b 7f 18 ; file 25 on MMD R07 tape
340 Breakpoint, PC: 00A00 (B A60)
341 sim> d -w a10 0202 ; console is TTY
348 0 ; all standard tests
350 TEST STILL RUNNING ; repeated multiple times
354 TEST STILL RUNNING ; repeated multiple times
358 TEST STILL RUNNING ; repeated multiple times
362 TEST STILL RUNNING ; repeated multiple times
366 TEST STILL RUNNING ; repeated multiple times
370 TEST STILL RUNNING ; repeated multiple times
374 TEST STILL RUNNING ; repeated multiple times
380 32b memory diagnostic, part 3
382 sim> att -e mt0 c:\temp\mmd_r07.tap
383 sim> d -b 7f 19 ; file 26 on MMD R07 tape
387 Breakpoint, PC: 00A00 (B A60)
388 sim> d -w a10 0202 ; console is TTY
396 TEST STILL RUNNING ; repeated multiple times
402 32b memory diagnostic, 6a, part 1
404 sim> att -e mt0 c:\temp\mmd_r07.tap
405 sim> d -b 7f 15 ; file 22 on MMD R07 tape
408 32 BIT S6A MEMORY TEST 06-157F01R01
413 TYPE= 3 ; any value, 0-4
437 32b memory diagnostic, 6a, part 2
439 sim> att -e mt0 c:\temp\mmd_r07.tap
440 sim> d -b 7f 16 ; file 23 on MMD R07 tape
443 32 BIT S6A MEMORY TEST 06-157F02R01
447 TYPE= 2 ; any value, 0-4
471 32b MAC diagnostic, part 1
473 sim> att -e mt0 c:\temp\mmd_r07.tap
474 sim> d -b 7f 24 ; file 37 on MMD R07 tape
496 sim> att -e mt0 c:\temp\mmd_r07.tap
497 sim> d -b 7f 25 ; file 38 on MMD R07 tape
498 sim> br ffd0 ; start != load point
501 Breakpoint, PC: 0FFD0 (B 1093E)
520 Common line printer diagnostic
522 sim> att -e pt0 diag.bin
526 Breakpoint: PC: 00C2 (EXBR R8,R6)
531 COMMON LINE PRINTER TEST 06-170R02
562 Common magtape diagnostic
564 sim> att -e pt0 diag.bin
569 Breakpoint, PC: 00C4 (EXBR R8,R6)
574 COMMON MAGNETIC TAPE TEST PROGRAM 06-172R02
577 *MODE 0 ; prog i/o and selch
597 Common 2.5/10MB disk diagnostic
599 sim> att -e pt0 diag.bin
603 Breakpoint, PC: 00C2 (EXBR R8,R6)
607 sim> att dp0 test0.dsk
608 sim> att dp1 test1.dsk
612 COMMON DISC TEST 06-173R01F01
614 *FILE 2 ; FILE 1 to test fixed platter
618 *TEST 0,1,2,3,4,6,7,8,9,A,C ; test 5 requires format capability
619 ; test B requires manual intervention
649 32b MSM disk diagnostic
651 sim> att -e mt0 c:\temp\mmd_r07.tap
652 sim> d -b 7f 45 ; file 70 on MMD R07 tape
656 Breakpoint, PC: 00A00 (B A5E)
658 sim> d -h a10 0202 ; patch for TTY console
660 sim> att dm1 foo1.dsk
663 MSM DISC TEST 06-200F02R04 (32-BIT)
666 *HICYL 336 ; tests 8,9,A will run a very long
667 ; time, use 40 to shorten test
672 *TEST 0,1,2,3,4,6,7,8,9,A,C ; test 5 requires format capability
673 ; test B requires manual intervention
689 Common floppy disk diagnostic
691 sim> att -e pt0 diag.bin
692 sim> att fd0 foo0.flp
693 sim> att fd1 foo1.flp
697 Breakpoint, PC: 000B8 (BS B2)
699 sim> d 2a72 bal r15,320a ; patch for multidrive test
703 COMMON FLOPPY DISC TEST 06-198R00
745 *TEST 9 ; test 8 requires formatting
755 Common clock diagnostic
757 sim> att -e pt0 diag.bin
761 Breakpoint, PC: 00C4 (EXBR R8,R6)
763 sim> d -w e28 4300 ; R09 patches
784 COMMON UNIVERSAL CLOCK MODULE TEST 06-133R05
786 *TIMVAL 1A4 ; simulator is a fast CPU
809 -------------------------------------------------------------------
810 Bugs Found and Fixed During Simulator Debug
812 1. CPU16: instruction decoding interpreting CPU models incorrectly
813 2. CPU16: SINT should not be conditional on device existing
814 3. CPU16: immediate interrupts do not do a PSW swap, new PC is block+6
815 4. CPU16: SLA, SLHA setting C incorrectly
816 5. CPU16: diagnostic requires 816E extended memory to run
817 6. CPU16: CCW16_OC defined incorrectly
818 7. CPU16, CPU32: autoload not fetching or outputing OC
819 8. CPU16, CPU32: block I/O completion is off by 1
820 9. CPU16, CPU32: ESPR broken, EPSR rx,rx should copy PSW to rx
821 10. CPU16, CPU32: PCQ displays in octal instead of hexadecimal
822 11. CPU16, CPU32: SH and variations overflow calculation wrong
823 12. CPU16, CPU32: SCH overflow calculation wrong
824 13. CPU16, CPU32: CH and CLH overflow calculation wrong
825 14. CPU16, CPU32: CH or'ing into CC's instead of loading
826 15. CPU16, CPU32: RD, RH, SS, AI store some data on non-existent device
827 16. CPU16, CPU32: console interrupt not implemented
828 17. CPU16, CPU32: SRHL(s) setting C incorrectly
829 18. CPU16, CPU32: WDR, OCR not masking register data to 8b
830 19. CPU32: WH not masking data to 8b or 16b as required
831 20. CPU32: 32b register sets ordered incorrectly in memory
832 21. CPU32: wrong slot length in queue instructions
833 22. CPU32: display device missing its interrupt declaration
834 23. CPU32: LPSW(R) must load PC before changing PSW
835 24. CPU32: SLL setting C incorrectly
836 25. CPU32: bit instructions use halfword memory access and offsets
837 26. CPU32: CRC sign-extending rather than zero-extending operands
838 27. CPU32: SCP incrementing counts before, not after, transfer
839 28. CPU32: CHVR not implemented
840 29. CPU32: M(R) algorithm wrong
841 30. CPU32: M(R) using wrong register as first operand
842 31. CPU32: memory accesses were fullword rather than halfword aligned
843 32. CPU32: D(R) overflow calculation incorrect
844 33. CPU32: on 7/32, exceptions use register set 0, regardless of new PSW
845 34. CPU32: system queue PSW location misdefined
846 35. CPU32: autodriver channel not shifting bytes left before use as
847 translation table index
848 36. CPU32: MAC, LRA using wrong value for limit test
849 37. CPU32: LRA using wrong value for segment base
850 38. CPU32: MAC registers are accessible only if protection is off
851 39. CPU32: MAC status clears only on write, not read
852 40. CPU32: MAC write protect abort and interrupts implemented incorrectly
853 41. CPU32: ex/dep -v test used & instead of &&
854 42. CPU32: fetch tests for MAC abort at end of fetch, not per halfword
855 43. FP: unpack and pack detecting RR format incorrectly
856 44. FP: need separate microcode/hardware algorithms for add/sub denormalization
857 45. FP: multiply and divide have 'early out' detection of overflow/underflow
858 46. FP: compare less than not setting C
859 47. FP: fix overflow not setting V
860 48. FP: fix shift needed to be hex digits not binary digits
861 49. IO: interrupt evaluation routine never sets an interrupt
862 50. SELCH: transfer count calculation off by 1
863 51. SELCH: device data structure set up incorrectly (reset routine)
864 52. SELCH: stop clears pending interrupts
865 53. SELCH: register load algorithm incorrect for 6 byte loads
866 54. PT, LPT, FD: OR'ing status mask instead of AND'ing
867 55. PT, TT: SET_INT on status change not conditioned on interrupt armed
868 56. TT: input char converted to UC incorrectly
869 57. TT: need SET TT BREAK to run CPU test part 2
870 58. LPT: not clearing spacing done
871 59. MT: WREOF not setting EOF status
872 60. MT: CMD register pointer to wrong place
873 61. MT: write record byte count taken from wrong variable
874 62. MT: overrun processing incorrect for selector channel mode
875 63. PIC, LFC: write data and overflow detection incorrect
876 64. PIC, LFC: interpolation algorithm for cic read incorrect
877 65. PIC, LFC: ric reloaded from output buffer on count overflow
878 66. PIC, LFC: added diagnostic mode, revised use of count vs timer
879 67. DP: track increment algorithm incorrect
880 68. DP, IDC: incorrectly setting overrun for less than full sector reads
881 69. DP: should interrupt on detach (offline)
882 70. FD: high water mark not updated on write
883 71. FD: deleted data not implemented, required for diagnostic
884 72. FD: header CRC not implemented, required for diagnostic
885 73. FD: function code not stored for service routine
886 74. FD: LRN to track and sector conversions incorrect
887 75. FD: reset status incorrect (should be not busy, LRN = 1)
888 76. FD: extended status track 0 calculation wrong
889 77. FD: reset does not clear interrupts, requires delay
890 78. FD: read/write sequencing incorrect
891 79. FD: command without write data uses implicit LRN
892 80. FD: extended status is per drive not per controller
893 81. FD: command start clears only extended status bytes 0,1
894 82. FD: IDLE sets after BUSY drops and generates a separate interrupt
895 83. SYS16, SYS32: WH mistyped as WD in symbol table
896 84. SYS32: MHR, DHR misdefined
897 85. PAS: busy set instead of cleared initially
898 86. IDC: busy set instead of cleared initially
899 87. IDC, DP: busy not cleared at transfer command complete
900 88. IDC: busy is not cleared at drive command complete
901 89. IDC: for MSM compatibility, must absorb WH of head/cylinder
902 90. IDC: drive command 0x30 is an instant NOP
903 91. IDC: set cylinder with invalid cylinder sets SKI
904 92. IDC: read with invalid head sets ACF, not DTE
905 93. DP, IDC: write with cylinder overflow advanced selch pointer
906 94. MT: read error must stop selector channel (if active)
907 95. IDC: xx000000 to controller or drive are NOP's, not invalid commands
908 96. IDC: WD/WH use standard Interdata write pointers
909 97. SELCH: GO preserves EXA and SSTA
910 98. CPU: DH overflow checking broken