RESTRICTION: The FP15 and XVM features of the PDP-15 are only partially debugged. Do NOT enable these features for normal operations. 1. New Features in 3.1-0 1.1 SCP and libraries - Added simulated Ethernet support for VMS, FreeBSD, Mac OS/X. - Added status return to tmxr_putc_ln. - Added sim_putchar_s to handle possible output stalls. 1.2 All DECtapes - Added "DECtape off reel" error stop. 1.3 All Asynchronous Consoles - Added support for output congestion stall if using a Telnet connection. 1.4 PDP-1 - Added Type 23 parallel drum support. 1.5 PDP-8 - Added instruction history. - Added TSC8-75 option support for ETOS. - Added TD8E DECtape support. 1.6 PDP-18b - Added instruction history. - Changed PDP-9, PDP-15 API default to enabled. 1.7 PDP-11 - Added support for 18b only Qbus devices. - Formalized bus and addressing definitions. - Added control to enable/disable autoconfiguration. - Added stub support for second Unibus Ethernet controller. 1.7 Interdata 32b - Added instruction history. 1.8 Eclipse - Added floating point support. - Added programmable interval timer support. 1.9 H316 - Added DMA/DMC support. - Added fixed head disk support. - Added moving head disk support. - Added magtape support. 1.10 IBM 1130 (Brian Knittel) - Added support for physical card reader, using the Cardread interface (www.ibm1130.org/sim/downloads). - Added support for physical printer (flushes output buffer after each line). 2. Bugs Fixed in 3.1-0 2.1 SCP and libraries - Fixed numerous bugs in Ethernet library. 2.2 All DECtapes - Fixed reverse checksum value in 'read all' mode. - Simplified (and sped up) timing. 2.3 PDP-8 - Fixed bug in RX28 read status (found by Charles Dickman). - Fixed RX28 double density write. 2.4 PDP-18b - Fixed autoincrement bug in PDP-4, PDP-7, PDP-9. 2.5 PDP-11/VAX - Revised RQ MB->LBN conversion for greater accuracy. - Fixed bug in IO configuration (found by David Hittner). - Fixed bug with multiple RQ RAUSER drives. - Fixed bug in second Qbus Ethernet controller interrupts. 2.6 Nova/Eclipse - Fixed bugs in DKP flag clear, map setup, map usage (Charles Owen). - Fixed bug in MT, reset completes despite I/O reset (Charles Owen). - Fixed bug in MT, space operations return word count (Charles Owen). 2.7 IBM 1130 (Brian Knittel) - Fixed bug in setting carry bit in subtract and subtract double. - Fixed timing problem in console printer simulation. 2.8 1620 - Fixed bug in branch digit (found by Dave Babcock). 3. New Features in 3.0 vs prior releases 3.1 SCP and Libraries - Added ASSIGN/DEASSIGN (logical name) commands. - Changed RESTORE to unconditionally detach files. - Added E11 and TPC format support to magtape library. - Fixed bug in SHOW CONNECTIONS. - Added USE_ADDR64 support. 3.2 All magtapes - Magtapes support SIMH format, E11 format, and TPC format (read only). - SET <tape_unit> FORMAT=format sets the specified tape unit's format. - SHOW <tape_unit> FORMAT displays the specified tape unit's format. - Tape format can also be set as part of the ATTACH command, using the -F switch. 3.3 VAX - VAX can be compiled without USE_INT64. - If compiled with USE_INT64 and USE_ADDR64, RQ and TQ controllers support files > 2GB. - VAX ROM has speed control (SET ROM DELAY/NODELAY). 3.4 PDP-1 - Added block loader format support to LOAD. - Changed BOOT PTR to allow loading of all of the first bank of memory. - The LOAD command takes an optional argument specifying the memory field to be loaded. - The PTR BOOT command takes its starting memory field from the TA (address switch) register. 3.5 PDP-18b Family - Added PDP-4 EAE support. - Added PDP-15 FP15 support. - Added PDP-15 XVM support. - Added PDP-15 "re-entrancy ECO". - Added PDP-7, PDP-9, PDP-15 hardware RIM loader support in BOOT PTR. 4. Bugs Fixed in 3.0 vs prior releases 4.1 SCP and Libraries - Fixed end of file problem in dep, idep. - Fixed handling of trailing spaces in dep, idep. 4.2 VAX - Fixed CVTfi bug: integer overflow not set if exponent out of range - Fixed EMODx bugs: o First and second operands reversed o Separated fraction received wrong exponent o Overflow calculation on separated integer incorrect o Fraction not set to zero if exponent out of range - Fixed interval timer and ROM access to pass power-up self-test even on very fast host processors (fixes from Mark Pizzolato). - Fixed bug in user disk size (found by Chaskiel M Grundman). 4.3 1401 - Fixed mnemonic, instruction lengths, and reverse scan length check bug for MCS. - Fixed MCE bug, BS off by 1 if zero suppress. - Fixed chaining bug, D lost if return to SCP. - Fixed H branch, branch occurs after continue. - Added check for invalid 8 character MCW, LCA. - Fixed magtape load-mode end of record response. - Revised fetch to model hardware more closely. - Fixed tape read end-of-record handling based on real 1401. - Added diagnostic read (space forward). 4.4 Nova - Fixed DSK variable size interaction with restore. - Fixed bug in DSK set size routine. 4.5 PDP-1 - Fixed DT variable size interaction with restore. - Updated CPU, line printer, standard devices to detect indefinite I/O wait. - Fixed incorrect logical, missing activate, break in drum simulator. - Fixed bugs in instruction decoding, overprinting for line printer. - Fixed system hang if continue after PTR error. - Fixed PTR to start/stop on successive rpa instructions. 4.6 PDP-11 - Fixed DT variable size interaction with restore. - Fixed bug in MMR1 update (found by Tim Stark). - Added XQ features and fixed bugs: o Corrected XQ interrupts on IE state transition (code by Tom Evans). o Added XQ interrupt clear on soft reset. o Removed XQ interrupt when setting XL or RL (multiple people). o Added SET/SHOW XQ STATS. o Added SHOW XQ FILTERS. o Added ability to split received packet into multiple buffers. o Added explicit runt and giant packet processing. - Fixed bug in user disk size (found by Chaskiel M Grundman). 4.7 PDP-18B - Fixed DT, RF variable size interaction with restore. - Fixed MT bug in MTTR. - Fixed bug in PDP-4 line printer overprinting. - Fixed bug in PDP-15 memory protect/skip interaction. - Fixed bug in RF set size routine. - Increased PTP TIME for PDP-15 operating systems. - Fixed priorities in PDP-15 API (differs from PDP-9). - Fixed sign handling in PDP-15 EAE unsigned mul/div (differs from PDP-9). - Fixed bug in CAF, clears API subsystem. 4.8 PDP-8 - Fixed DT, DF, RF, RX variable size interaction with restore. - Fixed MT bug in SKTR. - Fixed bug in DF, RF set size routine. 4.9 HP2100 - Fixed bug in DP (13210A controller only), DQ read status. - Fixed bug in DP, DQ seek complete. - Fixed DR drum sizes. - Fixed DR variable capacity interaction with SAVE/RESTORE. 4.10 GRI - Fixed bug in SC queue pointer management. 4.11 PDP-10 - Fixed bug in RP read header. 4.12 Ibm1130 - Fixed bugs found by APL 1130. 4.13 Altairz80 - Fixed bug in real-time clock on Windows host. 4.14 1620 - Fixed bug in immediate index add (found by Michael Short).
907 lines
17 KiB
Text
907 lines
17 KiB
Text
Interdata Diagnostics
|
|
|
|
Summary
|
|
|
|
816E CPU diagnostic, part 1 passed 16b n/a
|
|
816E CPU diagnostic, part 2 partial 16b n/a
|
|
Series 16 CPU diagnostic, part 1 passed 16b n/a
|
|
16b memory diagnostic, part 1 passed 16b n/a
|
|
16b memory diagnostic, part 2 passed 16b n/a
|
|
816e extended memory diagnostic passed 16b n/a
|
|
Series 16 selector channel diagnostic passed 16b n/a
|
|
32b CPU diagnostic, part 1 n/a passed 32b
|
|
32b CPU diagnostic, part 2 n/a passed 32b
|
|
32b CPU diagnostic, part 3 n/a passed 32b
|
|
32b memory diagnostic, part 1 n/a passed 32b
|
|
32b memory diagnostic, part 2 n/a passed 32b
|
|
32b memory diagnostic, part 3 n/a passed 32b
|
|
32b memory diagnostic 6a, part 1 n/a passed 32b
|
|
32b memory diagnostic 6a, part 2 n/a passed 32b
|
|
32b MAC diagnostic, part 1 n/a passed 32b
|
|
32b MAC diagnostic, part 2 n/a passed 32b
|
|
Common line printer diagnostic passed 16b passed 32b
|
|
Common magtape diagnostic passed 16b passed 32b
|
|
Common 2.5/10MB disk diagnostic passed 16b passed 32b
|
|
32b MSM disk diagnostic passed 32b
|
|
Common floppy disk diagnostic passed 16b passed 32b
|
|
Common clock diagnostic passed 16b passed 32b
|
|
|
|
Not tested:
|
|
- 16b floating point
|
|
- 32b double precision floating point
|
|
- IDC
|
|
- PASLA
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Operating Instructions
|
|
|
|
816E CPU diagnostic, part 1
|
|
|
|
sim> set cpu 816e
|
|
sim> att -e pt0 diag.bin
|
|
sim> br c2
|
|
sim> boot pt0
|
|
|
|
Breakpoint: PC: 00C2 (EXBR R8,R6)
|
|
|
|
sim> run 100
|
|
|
|
MODEL 8/16E PROCESSOR TEST PART 1 06-211R00
|
|
CPU
|
|
* 8D
|
|
|
|
ENTER 0 OR 1
|
|
1
|
|
NO ERROR
|
|
|
|
CPU
|
|
*
|
|
|
|
---
|
|
816E CPU diagnostic, part 2
|
|
|
|
sim> set cpu 816e
|
|
sim> d tt ttime 1000 ; timing dependency
|
|
sim> att -e pt0 diag.bin
|
|
sim> br c2
|
|
sim> boot pt0
|
|
|
|
Breakpoint: PC: 00C2 (EXBR R8,R6)
|
|
|
|
sim> run 2d0
|
|
|
|
MODEL 8/16E PROCESSOR TEST PART 2 06-212R00
|
|
CPU
|
|
* 8D
|
|
|
|
SUBTEST
|
|
|
|
* (type subtest number)
|
|
|
|
Subtests 0, 1, 2, 5, 7, 8, 9 run correctly
|
|
Subtest 3, 4 cannot be run (initialization, power fail)
|
|
Subtest 6 cannot be run (hexadecimal display)
|
|
|
|
---
|
|
Series 16 CPU diagnostic, part 1
|
|
(Central error routine is at 21F4)
|
|
|
|
sim> set cpu 816e
|
|
sim> att -e pt0 diag.bin ; diagnostic
|
|
sim> br c0
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00C0 (8800)
|
|
|
|
sim> d 234a 0202 ; patch to use
|
|
sim> d 234c a4a8 ; TTY as console
|
|
sim> d 17a b 1e4
|
|
sim> run 100
|
|
|
|
SERIES SIXTEEN PROCESSOR TEST PART 1 06-242F01R00
|
|
CPU
|
|
* 2D
|
|
ENTER 0 OR 1
|
|
1
|
|
|
|
1234567890
|
|
|
|
NO ERROR
|
|
|
|
000A 0000
|
|
|
|
CPU
|
|
*
|
|
|
|
---
|
|
16b memory diagnostic, part 1
|
|
|
|
sim> att -e pt0 diag.bin ; diagnostic
|
|
sim> br c2
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00C2 (EPSR R7,R6)
|
|
|
|
sim> run 100
|
|
|
|
02-340 PART 1 06-162F01R01
|
|
|
|
NO ERRORS
|
|
|
|
---
|
|
16b memory diagnostic, part 2
|
|
|
|
sim> att -e pt0 diag.bin ; diagnostic
|
|
sim> br c2
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00C2 (EPSR R7,R6)
|
|
|
|
sim> run 1000
|
|
|
|
02-340 PART 2 06-162F02R01
|
|
|
|
NO ERRORS
|
|
|
|
---
|
|
816e extended memory diagnostic, parts 1 and 2
|
|
|
|
sim> set cpu 816e
|
|
sim> set cpu 256k
|
|
sim> att -e pt0 diag.bin ; diagnostic
|
|
sim> br b4
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00B4 (LPSW R0,B8)
|
|
|
|
sim> run 1000
|
|
|
|
8/16 E EXTENDED MEMORY TEST PART 1 06-221R00
|
|
NO ERROR
|
|
* (CR to repeat part 1)
|
|
8/16 E EXTENDED MEMORY TEST PART 1 06-221R00
|
|
NO ERROR
|
|
* (LF to go on to part 2)
|
|
|
|
Breakpoint, PC: 00B4 (LPSW R0,B8)
|
|
sim> run 100
|
|
|
|
8/16 E EXTENDED MEMORY TEST PART 2 06-221R00
|
|
PROGRAM DETECTED MAXIMUM MEMORY 3FFFE
|
|
*TEST ; standard tests
|
|
*RUN
|
|
|
|
SUBTEST 0 NO ERROR
|
|
SUBTEST 1 NO ERROR
|
|
SUBTEST 2 NO ERROR
|
|
SUBTEST 3 NO ERROR
|
|
SUBTEST 4 NO ERROR
|
|
SUBTEST 6 NO ERROR
|
|
SUBTEST 7 NO ERROR
|
|
SUBTEST 8 NO ERROR
|
|
END OF TEST
|
|
|
|
*
|
|
|
|
---
|
|
Series 16 selector channel diagnostic
|
|
|
|
sim> set cpu 816e
|
|
sim> set cpu 256k
|
|
sim> att -e pt0 diag.bin ; diagnostic
|
|
sim> att mt0 foo.tap ; magtape to test
|
|
sim> br c0
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00C0 (LPSW R0,C8)
|
|
|
|
sim> d 2e68 2 ; console is TTY
|
|
sim> run A00
|
|
|
|
S16 SELCH TEST 06-222 R01
|
|
|
|
TOP OF MEMORY 3 FFFF
|
|
* IODEV1 C5 ; magtape
|
|
* DEV1 2
|
|
* RUN ; bank 0 by default
|
|
TEST 00
|
|
|
|
NO ERROR
|
|
|
|
TEST 01
|
|
|
|
NO ERROR
|
|
|
|
TEST 02
|
|
|
|
NO ERROR
|
|
|
|
TEST 03
|
|
|
|
NO ERROR
|
|
|
|
TEST 04
|
|
|
|
NO ERROR
|
|
|
|
|
|
* MEMMOD 1 {2,3} ; repeat for banks 1,2,3
|
|
* RUN
|
|
TEST 00
|
|
|
|
NO ERROR
|
|
|
|
TEST 01
|
|
|
|
NO ERROR
|
|
|
|
TEST 02
|
|
|
|
NO ERROR
|
|
|
|
TEST 03
|
|
|
|
NO ERROR
|
|
|
|
TEST 04
|
|
|
|
NO ERROR
|
|
|
|
*
|
|
---
|
|
32b CPU diagnostic, part 1
|
|
|
|
sim> att -e mt0 mmd_r07.tap
|
|
sim> d -b 7f 7 ; file 8 on MMD R07 tape
|
|
sim> boot mt0
|
|
|
|
S32PT1 06-154 R03
|
|
CPU
|
|
|
|
*7X
|
|
NO ERROR
|
|
000A 0000
|
|
*
|
|
|
|
---
|
|
32b CPU diagnostic, part 2
|
|
|
|
sim> set tt 7b ; test is parity sensitive
|
|
sim> att -e mt0 mmd_r07.tap
|
|
sim> d -b 7f 8 ; file 9 on MMD R07 tape
|
|
sim> boot mt0
|
|
|
|
|
|
S32PT2R02
|
|
CPU
|
|
*
|
|
7X
|
|
SUBTEST
|
|
* (type subtest number)
|
|
|
|
Subtests 1, 3, 4, 5, 9 run correctly
|
|
Subtest 2 cannot be run (7/32 with halfword mode only)
|
|
Subtest 6 cannot be run (hexadecimal display)
|
|
Subtests 7,8 cannot be run (initialization, power fail)
|
|
|
|
---
|
|
32b CPU diagnostic, part 3
|
|
|
|
sim> att -e mt0 mmd_r07.tap
|
|
sim> d -b 7f 9 ; file 10 on MMD R07 tape
|
|
sim> boot mt0
|
|
|
|
S32PT3 R01
|
|
CPU
|
|
*
|
|
8X ; 7X denotes 7/32 with halfword mode
|
|
MAC RESPONSE AT 000300
|
|
|
|
SUBTEST
|
|
*
|
|
|
|
Subtests 1, 2, 3 run correctly
|
|
Subtest 4 cannot be run (parity option)
|
|
|
|
---
|
|
32b memory diagnostic, part 1
|
|
|
|
sim> att -e mt0 mmd_r07.tap
|
|
sim> d -b 7f 17 ; file 24 on MMD R07 tape
|
|
sim> br 2000
|
|
sim> boot mt0
|
|
|
|
Breakpoint, PC: 02000 (B 2060)
|
|
sim> d -w 2010 0202 ; console is TTY
|
|
sim> c
|
|
|
|
S32MT1 06-156F01R04
|
|
MAC PRESENT ? (Y OR N)
|
|
*
|
|
Y
|
|
01
|
|
02
|
|
03
|
|
04
|
|
05
|
|
06
|
|
NO ERROR
|
|
*
|
|
|
|
---
|
|
32b memory diagnostic, part 2
|
|
|
|
sim> att -e mt0 c:\temp\mmd_r07.tap
|
|
sim> d -b 7f 18 ; file 25 on MMD R07 tape
|
|
sim> br a00
|
|
sim> boot mt0
|
|
|
|
Breakpoint, PC: 00A00 (B A60)
|
|
sim> d -w a10 0202 ; console is TTY
|
|
sim> c
|
|
|
|
S32MT2 06-156F02R04
|
|
AVAILABLE MEMORY
|
|
000000 - 0FFFFF
|
|
SUBTEST *
|
|
0 ; all standard tests
|
|
01
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
02
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
03
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
04
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
05
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
06
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
07
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
SUBTEST *
|
|
|
|
---
|
|
32b memory diagnostic, part 3
|
|
|
|
sim> att -e mt0 c:\temp\mmd_r07.tap
|
|
sim> d -b 7f 19 ; file 26 on MMD R07 tape
|
|
sim> br a00
|
|
sim> boot mt0
|
|
|
|
Breakpoint, PC: 00A00 (B A60)
|
|
sim> d -w a10 0202 ; console is TTY
|
|
|
|
sim> c
|
|
S32MT3 06-156F03R04
|
|
AVAILABLE MEMORY
|
|
000000 - 0FFFFF
|
|
*
|
|
|
|
TEST STILL RUNNING ; repeated multiple times
|
|
:
|
|
NO ERROR
|
|
*
|
|
|
|
---
|
|
32b memory diagnostic, 6a, part 1
|
|
|
|
sim> att -e mt0 c:\temp\mmd_r07.tap
|
|
sim> d -b 7f 15 ; file 22 on MMD R07 tape
|
|
sim> boot mt0
|
|
|
|
32 BIT S6A MEMORY TEST 06-157F01R01
|
|
AVAILABLE MEMORY
|
|
0000-3FFF
|
|
|
|
MAC ADDRESS = 300
|
|
TYPE= 3 ; any value, 0-4
|
|
SUBTEST
|
|
* 0
|
|
01
|
|
NO ERROR
|
|
02
|
|
NO ERROR
|
|
03
|
|
NO ERROR
|
|
04
|
|
NO ERROR
|
|
05
|
|
NO ERROR
|
|
06
|
|
NO ERROR
|
|
07
|
|
NO ERROR
|
|
08
|
|
NO ERROR
|
|
|
|
SUBTEST
|
|
*
|
|
|
|
---
|
|
32b memory diagnostic, 6a, part 2
|
|
|
|
sim> att -e mt0 c:\temp\mmd_r07.tap
|
|
sim> d -b 7f 16 ; file 23 on MMD R07 tape
|
|
sim> boot mt0
|
|
|
|
32 BIT S6A MEMORY TEST 06-157F02R01
|
|
AVAILABLE MEMORY
|
|
0000f-FFFFF
|
|
|
|
TYPE= 2 ; any value, 0-4
|
|
SUBTEST
|
|
* 0
|
|
01
|
|
NO ERROR
|
|
02
|
|
NO ERROR
|
|
03
|
|
NO ERROR
|
|
04
|
|
NO ERROR
|
|
05
|
|
NO ERROR
|
|
06
|
|
NO ERROR
|
|
07
|
|
NO ERROR
|
|
08
|
|
NO ERROR
|
|
|
|
SUBTEST
|
|
*
|
|
|
|
---
|
|
32b MAC diagnostic, part 1
|
|
|
|
sim> att -e mt0 c:\temp\mmd_r07.tap
|
|
sim> d -b 7f 24 ; file 37 on MMD R07 tape
|
|
sim> boot mt0
|
|
|
|
MACT 06-160F01R03
|
|
AVAILABLE MEMORY
|
|
00000- FFFFF
|
|
|
|
* RUN
|
|
TEST 00 NO ERROR
|
|
TEST 01 NO ERROR
|
|
TEST 02 NO ERROR
|
|
TEST 03 NO ERROR
|
|
TEST 04 NO ERROR
|
|
TEST 05 NO ERROR
|
|
TEST 06 NO ERROR
|
|
TEST 07 NO ERROR
|
|
TEST 08 NO ERROR
|
|
TEST 09 NO ERROR
|
|
TEST 0B NO ERROR
|
|
*
|
|
|
|
---
|
|
sim> att -e mt0 c:\temp\mmd_r07.tap
|
|
sim> d -b 7f 25 ; file 38 on MMD R07 tape
|
|
sim> br ffd0 ; start != load point
|
|
sim> boot mt0
|
|
|
|
Breakpoint, PC: 0FFD0 (B 1093E)
|
|
|
|
sim> run 10010
|
|
|
|
MACT 06-160F02R03
|
|
|
|
* RUN
|
|
TEST 00 NO ERROR
|
|
TEST 01 NO ERROR
|
|
TEST 02 NO ERROR
|
|
TEST 03 NO ERROR
|
|
TEST 04 NO ERROR
|
|
TEST 05 NO ERROR
|
|
TEST 06 NO ERROR
|
|
TEST 07 NO ERROR
|
|
TEST 08 NO ERROR
|
|
*
|
|
|
|
---
|
|
Common line printer diagnostic
|
|
|
|
sim> att -e pt0 diag.bin
|
|
sim> br c2
|
|
sim> boot pt0
|
|
|
|
Breakpoint: PC: 00C2 (EXBR R8,R6)
|
|
|
|
sim> run a00 ; 32b
|
|
sim> run a04 ; 16b
|
|
|
|
COMMON LINE PRINTER TEST 06-170R02
|
|
|
|
*TEST 0,1,2,3
|
|
*RUN
|
|
|
|
TEST 00
|
|
NO ERROR
|
|
TEST 01
|
|
NO ERROR
|
|
TEST 02
|
|
NO ERROR
|
|
TEST 03
|
|
NO ERROR
|
|
END OF TEST
|
|
|
|
*INTRPT 1
|
|
*RUN
|
|
|
|
TEST 00
|
|
NO ERROR
|
|
TEST 01
|
|
NO ERROR
|
|
TEST 02
|
|
NO ERROR
|
|
TEST 03
|
|
NO ERROR
|
|
END OF TEST
|
|
|
|
*
|
|
|
|
---
|
|
Common magtape diagnostic
|
|
|
|
sim> att -e pt0 diag.bin
|
|
sim> att mt foo.tap
|
|
sim> br c4
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00C4 (EXBR R8,R6)
|
|
|
|
sim> run a00 ; 32b
|
|
sim> run a04 ; 16b
|
|
|
|
COMMON MAGNETIC TAPE TEST PROGRAM 06-172R02
|
|
|
|
*TEST 0,1,2,3,4,5
|
|
*MODE 0 ; prog i/o and selch
|
|
*RUN
|
|
|
|
TEST 00
|
|
NO ERROR
|
|
TEST 01
|
|
NO ERROR
|
|
TEST 02
|
|
NO ERROR
|
|
TEST 03
|
|
NO ERROR
|
|
TEST 04
|
|
NO ERROR
|
|
TEST 05
|
|
NO ERROR
|
|
END OF TEST
|
|
|
|
*
|
|
|
|
---
|
|
Common 2.5/10MB disk diagnostic
|
|
|
|
sim> att -e pt0 diag.bin
|
|
sim> br c2
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00C2 (EXBR R8,R6)
|
|
|
|
sim> set dp0 5440
|
|
sim> set dp1 5440
|
|
sim> att dp0 test0.dsk
|
|
sim> att dp1 test1.dsk
|
|
sim> run a00 ; 32b
|
|
sim> run a04 ; 16b
|
|
|
|
COMMON DISC TEST 06-173R01F01
|
|
|
|
*FILE 2 ; FILE 1 to test fixed platter
|
|
*LOCYL 0
|
|
*HICYL 197
|
|
*TIMCON 1C0
|
|
*TEST 0,1,2,3,4,6,7,8,9,A,C ; test 5 requires format capability
|
|
; test B requires manual intervention
|
|
*RUN
|
|
|
|
TEST 00
|
|
NO ERROR
|
|
TEST 01
|
|
NO ERROR
|
|
TEST 02
|
|
NO ERROR
|
|
TEST 03
|
|
NO ERROR
|
|
TEST 04
|
|
NO ERROR
|
|
TEST 06
|
|
NO ERROR
|
|
TEST 07
|
|
NO ERROR
|
|
TEST 08
|
|
NO ERROR
|
|
TEST 09
|
|
NO ERROR
|
|
TEST 0A
|
|
NO ERROR
|
|
TEST 0C
|
|
NO ERROR
|
|
END OF TEST
|
|
|
|
*
|
|
|
|
---
|
|
32b MSM disk diagnostic
|
|
|
|
sim> att -e mt0 c:\temp\mmd_r07.tap
|
|
sim> d -b 7f 45 ; file 70 on MMD R07 tape
|
|
sim> br a00
|
|
sim> boot mt0
|
|
|
|
Breakpoint, PC: 00A00 (B A5E)
|
|
|
|
sim> d -w a10 0101 ; patch for TTY console
|
|
sim> att dm0 foo.dsk
|
|
sim> att dm1 foo1.dsk
|
|
sim> c
|
|
|
|
MSM DISC TEST 06-200F02R04 (32-BIT)
|
|
|
|
*LOCYL 0
|
|
*HICYL 336 ; tests 8,9,A will run a very long
|
|
; time, use 40 to shorten test
|
|
*DRIVE 0
|
|
*PACTYP 0
|
|
*TIMVAL 14D
|
|
*XFILE 1
|
|
*TEST 0,1,2,3,4,6,7,8,9,A,C ; test 5 requires format capability
|
|
; test B requires manual intervention
|
|
*RUN
|
|
|
|
TEST 00
|
|
TEST 01
|
|
TEST 02
|
|
TEST 03
|
|
TEST 04
|
|
TEST 06
|
|
TEST 07
|
|
TEST 08
|
|
TEST 09
|
|
TEST 0A
|
|
TEST 0C
|
|
|
|
---
|
|
Common floppy disk diagnostic
|
|
|
|
sim> att -e pt0 diag.bin
|
|
sim> att fd0 foo0.flp
|
|
sim> att fd1 foo1.flp
|
|
sim> br b8
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 000B8 (BS B2)
|
|
|
|
sim> d 2a72 bal r15,320a ; patch for multidrive test
|
|
sim> run a00 ; 32b
|
|
sim> run a04 ; 16b
|
|
|
|
COMMON FLOPPY DISC TEST 06-198R00
|
|
UNPROTECT DISKETTE
|
|
|
|
*DRIVE AB
|
|
*RUN
|
|
|
|
DRIVE A UNDER TEST
|
|
TEST 00
|
|
NO ERROR
|
|
TEST 01
|
|
NO ERROR
|
|
TEST 02
|
|
NO ERROR
|
|
TEST 03
|
|
NO ERROR
|
|
TEST 04
|
|
NO ERROR
|
|
TEST 05
|
|
NO ERROR
|
|
TEST 06
|
|
NO ERROR
|
|
TEST 07
|
|
NO ERROR
|
|
DRIVE B UNDER TEST
|
|
TEST 00
|
|
NO ERROR
|
|
TEST 01
|
|
NO ERROR
|
|
TEST 02
|
|
NO ERROR
|
|
TEST 03
|
|
NO ERROR
|
|
TEST 04
|
|
NO ERROR
|
|
TEST 05
|
|
NO ERROR
|
|
TEST 06
|
|
NO ERROR
|
|
TEST 07
|
|
NO ERROR
|
|
END OF TEST
|
|
|
|
*TEST 9 ; test 8 requires formatting
|
|
*RUN
|
|
|
|
TEST 09
|
|
NO ERROR
|
|
END OF TEST
|
|
|
|
*
|
|
|
|
---
|
|
Common clock diagnostic
|
|
|
|
sim> att -e pt0 diag.bin
|
|
sim> br c4
|
|
sim> boot pt0
|
|
|
|
Breakpoint, PC: 00C4 (EXBR R8,R6)
|
|
|
|
sim> d -w e28 4300 ; R09 patches
|
|
sim> d -w e2a 10f4
|
|
sim> id -w 10f4:110a
|
|
10f4: 4840
|
|
10f6: 188a
|
|
10f8: 4850
|
|
10fa: 188c
|
|
10fc: de40
|
|
10fe: 1eaf
|
|
1100: de50
|
|
1102: 1eaf
|
|
1104: 4810
|
|
1106: 0a24
|
|
1108: 4300
|
|
1110: 0e2c
|
|
sim> d 1b9c bs 1ba6
|
|
sim> d -w 1102 1eaf
|
|
|
|
sim> run a00 ; 32b
|
|
sim> run a04 ; 16b
|
|
|
|
COMMON UNIVERSAL CLOCK MODULE TEST 06-133R05
|
|
|
|
*TIMVAL 1A4 ; simulator is a fast CPU
|
|
*RUN
|
|
|
|
TEST 00
|
|
NO ERROR
|
|
TEST 01
|
|
NO ERROR
|
|
TEST 02
|
|
NO ERROR
|
|
TEST 03
|
|
NO ERROR
|
|
TEST 04
|
|
NO ERROR
|
|
TEST 05
|
|
NO ERROR
|
|
TEST 06
|
|
NO ERROR
|
|
TEST 07
|
|
NO ERROR
|
|
END OF TEST
|
|
|
|
*
|
|
|
|
-------------------------------------------------------------------
|
|
Bugs found
|
|
|
|
1. CPU16: instruction decoding interpreting CPU models incorrectly
|
|
2. CPU16: SINT should not be conditional on device existing
|
|
3. CPU16: immediate interrupts do not do a PSW swap, new PC is block+6
|
|
4. CPU16: SLA, SLHA setting C incorrectly
|
|
5. CPU16: diagnostic requires 816E extended memory to run
|
|
6. CPU16: CCW16_OC defined incorrectly
|
|
7. CPU16, CPU32: autoload not fetching or outputing OC
|
|
8. CPU16, CPU32: block I/O completion is off by 1
|
|
9. CPU16, CPU32: ESPR broken, EPSR rx,rx should copy PSW to rx
|
|
10. CPU16, CPU32: PCQ displays in octal instead of hexadecimal
|
|
11. CPU16, CPU32: SH and variations overflow calculation wrong
|
|
12. CPU16, CPU32: SCH overflow calculation wrong
|
|
13. CPU16, CPU32: CH and CLH overflow calculation wrong
|
|
14. CPU16, CPU32: CH or'ing into CC's instead of loading
|
|
15. CPU16, CPU32: RD, RH, SS, AI store some data on non-existent device
|
|
16. CPU16, CPU32: console interrupt not implemented
|
|
17. CPU16, CPU32: SRHL(s) setting C incorrectly
|
|
18. CPU16, CPU32: WDR, OCR not masking register data to 8b
|
|
19. CPU32: WH not masking data to 8b or 16b as required
|
|
20. CPU32: 32b register sets ordered incorrectly in memory
|
|
21. CPU32: wrong slot length in queue instructions
|
|
22. CPU32: display device missing its interrupt declaration
|
|
23. CPU32: LPSW(R) must load PC before changing PSW
|
|
24. CPU32: SLL setting C incorrectly
|
|
25. CPU32: bit instructions use halfword memory access and offsets
|
|
26. CPU32: CRC sign-extending rather than zero-extending operands
|
|
27. CPU32: SCP incrementing counts before, not after, transfer
|
|
28. CPU32: CHVR not implemented
|
|
29. CPU32: M(R) algorithm wrong
|
|
30. CPU32: M(R) using wrong register as first operand
|
|
31. CPU32: memory accesses were fullword rather than halfword aligned
|
|
32. CPU32: D(R) overflow calculation incorrect
|
|
33. CPU32: on 7/32, exceptions use register set 0, regardless of new PSW
|
|
34. CPU32: system queue PSW location misdefined
|
|
35. CPU32: autodriver channel not shifting bytes left before use as
|
|
translation table index
|
|
36. CPU32: MAC, LRA using wrong value for limit test
|
|
37. CPU32: LRA using wrong value for segment base
|
|
38. CPU32: MAC registers are accessible only if protection is off
|
|
39. CPU32: MAC status clears only on write, not read
|
|
40. CPU32: MAC write protect abort and interrupts implemented incorrectly
|
|
41. CPU32: ex/dep -v test used & instead of &&
|
|
42. CPU32: fetch tests for MAC abort at end of fetch, not per halfword
|
|
43. FP: unpack and pack detecting RR format incorrectly
|
|
44. FP: need separate microcode/hardware algorithms for add/sub denormalization
|
|
45. FP: multiply and divide have 'early out' detection of overflow/underflow
|
|
46. FP: compare less than not setting C
|
|
47. FP: fix overflow not setting V
|
|
48. FP: fix shift needed to be hex digits not binary digits
|
|
49. IO: interrupt evaluation routine never sets an interrupt
|
|
50. SELCH: transfer count calculation off by 1
|
|
51. SELCH: device data structure set up incorrectly (reset routine)
|
|
52. SELCH: stop clears pending interrupts
|
|
53. SELCH: register load algorithm incorrect for 6 byte loads
|
|
54. PT, LPT, FD: OR'ing status mask instead of AND'ing
|
|
55. PT, TT: SET_INT on status change not conditioned on interrupt armed
|
|
56. TT: input char converted to UC incorrectly
|
|
57. TT: need SET TT BREAK to run CPU test part 2
|
|
58. LPT: not clearing spacing done
|
|
59. MT: WREOF not setting EOF status
|
|
60. MT: CMD register pointer to wrong place
|
|
61. MT: write record byte count taken from wrong variable
|
|
62. MT: overrun processing incorrect for selector channel mode
|
|
63. PIC, LFC: write data and overflow detection incorrect
|
|
64. PIC, LFC: interpolation algorithm for cic read incorrect
|
|
65. PIC, LFC: ric reloaded from output buffer on count overflow
|
|
66. PIC, LFC: added diagnostic mode, revised use of count vs timer
|
|
67. DP: track increment algorithm incorrect
|
|
68. DP, IDC: incorrectly setting overrun for less than full sector reads
|
|
69. DP: should interrupt on detach (offline)
|
|
70. FD: high water mark not updated on write
|
|
71. FD: deleted data not implemented, required for diagnostic
|
|
72. FD: header CRC not implemented, required for diagnostic
|
|
73. FD: function code not stored for service routine
|
|
74. FD: LRN to track and sector conversions incorrect
|
|
75. FD: reset status incorrect (should be not busy, LRN = 1)
|
|
76. FD: extended status track 0 calculation wrong
|
|
77. FD: reset does not clear interrupts, requires delay
|
|
78. FD: read/write sequencing incorrect
|
|
79. FD: command without write data uses implicit LRN
|
|
80. FD: extended status is per drive not per controller
|
|
81. FD: command start clears only extended status bytes 0,1
|
|
82. FD: IDLE sets after BUSY drops and generates a separate interrupt
|
|
83. SYS16, SYS32: WH mistyped as WD in symbol table
|
|
84. SYS32: MHR, DHR misdefined
|
|
85. PAS: busy set instead of cleared initially
|
|
86. IDC: busy set instead of cleared initially
|
|
87. IDC, DP: busy not cleared at transfer command complete
|
|
88. IDC: busy is not cleared at drive command complete
|
|
89. IDC: for MSM compatibility, must absorb WH of head/cylinder
|
|
90. IDC: drive command 0x30 is an instant NOP
|
|
91. IDC: set cylinder with invalid cylinder sets SKI
|
|
92. IDC: read with invalid head sets ACF, not DTE
|
|
93. DP, IDC: write with cylinder overflow advanced selch pointer
|
|
94. MT: read error must stop selector channel (if active)
|
|
|