116 lines
3.5 KiB
Text
116 lines
3.5 KiB
Text
SDS Diagnostics, using the SDS 930/940 Master Diagnostic Tape image (D930X4A.TAP)
|
|
|
|
Summary
|
|
|
|
930 0-16K Memory Test passed
|
|
930 16K-32K Memory Test passed
|
|
930 Instruction Test passed
|
|
930 P&S Register Test passed
|
|
|
|
---
|
|
930 0-16K Memory Test
|
|
|
|
sim> att mt diag.tap
|
|
sim> d a 1
|
|
sim> d bpt4 1 ; stop every 1/2 cycle
|
|
sim> boot mt
|
|
|
|
HALT instruction, P: 00050 (STA 122,4)
|
|
sim> ex a
|
|
A: 00000000 ; error count
|
|
sim> c
|
|
|
|
HALT instruction, P: 37650 (STA 37722,4)
|
|
|
|
sim> ex a
|
|
A: 00000000 ; error count
|
|
|
|
---
|
|
930 16K-32K Memory Test
|
|
|
|
sim> att mt diag.tap
|
|
sim> d a 2
|
|
sim> d bpt4 2 ; stop every 1/2 cycle
|
|
sim> boot mt
|
|
|
|
|
|
HALT instruction, P: 00050 (STA 6)
|
|
sim> ex a
|
|
A: 00000000 ; error count
|
|
sim> c
|
|
|
|
HALT instruction, P: 37650 (STA 37406)
|
|
sim> ex a
|
|
A: 00000000 ; error count
|
|
sim> c
|
|
|
|
---
|
|
930 Instruction Diagnostic
|
|
|
|
sim> att mt diag.tap
|
|
sim> d a 3
|
|
sim> br 17 ; catch start of diagnostic
|
|
sim> boot mt
|
|
|
|
Breakpoint, P: 00017 (BRR 12,2)
|
|
sim> nobr 17
|
|
sim> br 112 ; catch end of diagnostic
|
|
sim> c
|
|
|
|
Breakpoint, P: 00112 (BRU 3)
|
|
|
|
---
|
|
930 P&S Register Test
|
|
|
|
sim> att mt diag.tap
|
|
sim> d a 4
|
|
sim> br 60 ; catch end of pass
|
|
sim> boot mt
|
|
|
|
Breakpoint, P: 00060 (BRU 22)
|
|
|
|
---
|
|
Bugs
|
|
|
|
1. IO: Channel WAR not cleared after memory store
|
|
2. IO: dev_map should contain _flags, not _v_flags
|
|
3. SYS: Errors in system tables
|
|
4. SYS: Character conversion table had 0 (space) as illegal, should be -1
|
|
5. IO: Channel CPW calculation wrong for 12b mode
|
|
6. RAD, DSK, MT: Instruction masks wrong for RAD, DSK, MT
|
|
7. IO: Missing subscripts in dev_disp references
|
|
8. RAD: typos referencing DSK
|
|
9. IO: SKS 3 call incorrect
|
|
10. DRM: Drum track mask width incorrect
|
|
11. CPU: Memory management trap left reason in bogus state, stopped simulator
|
|
12. CPU: Interrupts require api_lvl as well as api_lvlhi, like PDP-10, PDP-15
|
|
13. CPU: Bug in find interrupt request
|
|
14. CPU: Interrupt priority scheme recoded for left to right priority
|
|
15. CPU: overflow test coded backwards
|
|
16. CPU: Rotates operate mod 48, not with upper limit of 48 (manual incorrect)
|
|
17. CPU: RSH not handling >= 48 correctly
|
|
18. CPU: CNA is 2's complement not 1's complement
|
|
19. CPU: MUL failed to mask cross product correctly
|
|
20. CPU: EM2, EM3 test using wrong 'channel'
|
|
21. CPU: EM3 test tested EM2 instead
|
|
22. CPU: POP must save EM2, EM3 like BRM (manual incorrect)
|
|
23. CPU: Shifts need special EA calculation, direct cycles using 9b indexing
|
|
24. CPU: Shifts ignore addr<13:14>
|
|
25. CPU: Diagnostic uses undefined shift 'normalize cyclic'
|
|
26. CPU: Divide 2'c complement of AB leaves B<23> unchanged
|
|
27. CPU: Divide overflow test requires special cases for divd.h == divr
|
|
28. CPU: Divide uses non-restoring algorithm
|
|
29. CPU: Channel terminate output must be deferred until channel buffer clears
|
|
30. CPU: Channel terminate output to magtape is convert to scan, must be
|
|
handled in channel logic
|
|
31. SYS: duplicate entries for shifts
|
|
32. SYS: mask for shifts did not include indirect flag
|
|
33. MUX: Genie/SDS use inverted meanings for line enable flag
|
|
34. MT: missing fseek before write eof
|
|
35. MT: displayed characters only 7b wide instead of 8b
|
|
36. CPU: EOD 20000 used by diagnostic (EM change is NOP)
|
|
37. CPU: SKD sets all 24b of X, not just exponent
|
|
38. CPU: reset should not clear A, B, X
|
|
39. LPT: carriage control position lost on spacing operation
|
|
40. IO: TOP disconnects the channel rather than setting CHF_EOR
|
|
41. TTY: TTO was outputing spurious extra character, even if no leader set
|