|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 43776 (0xab00)
Types: RcTekst
Names: »99110094.WP«
└─⟦7fab0c8ae⟧ Bits:30005866/disk3.imd Dokumenter i RcTekst format (RCSL 99-1-*)
└─⟦this⟧ »99110094.WP«
╱04002d4e0a0006000000000201413100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆a1┆↲
↲
╞ Edition:╞ May 1985↲
╞ Author: Peter Lundbo / Dinh Nuong Quang↲
╞ RCSL No.:╞ 991 10094↲
↲
↲
↲
↲
↲
↲
↲
↲
INTERNAL DOCUMENT↲
↲
↲
↲
↲
↲
↲
↲
Title:↲
↲
┆06┆┆84┆RC 3902 (CPU 691) hardware selftest↲
user's manual↲
════════════════════════════════════════════════════════════════════════
↓
════════════════════════════════════════════════════════════════════════
↓
KEYWORDS:↲
╞ ╞ ┆84┆RC 39, XENIX, Hardware Selftest, CPU 691, MEM 602, ↓
┆19┆┆8e┆┄┄MEM 603, Multibus Configuration.↲
↲
↲
↲
↲
↲
↲
↲
ABSTRACT:↲
╞ ╞ ┆84┆This manual covers the hardware selftest included ↓
┆19┆┆8e┆┄┄in the RC3902 product. The EPROMS is installed on a ↓
┆19┆┆8e┆┄┄CPU 691 board, and is responsible for the ↓
┆19┆┆8e┆┄┄verification of the attached MEM 602/603 boards as ↓
┆19┆┆8e┆┄┄well. The CPU 691 is the "test-master" board, which ↓
┆19┆┆8e┆┄┄is able to communicate with all other intelligent ↓
┆19┆┆8e┆┄┄controllers in the RC 39 product in order to ↓
┆19┆┆8e┆┄┄concentrate the outcome of all the concurrently ↓
┆19┆┆8e┆┄┄running selftests on one console. The "test-master" ↓
┆19┆┆8e┆┄┄is also responsible for directing all other ↓
┆19┆┆8e┆┄┄intelligent controllers to their bootload phase.↲
↲
↲
↲
════════════════════════════════════════════════════════════════════════
↓
╱04002d4e0a0006000000000201413100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱
╱04002d4e0a0006000000000201413100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱
↓
i↲
┆a1┆TABLE OF CONTENT╞ ╞ ╞ PAGE ↲
↲
1. INTRODUCTION ............................. 1↲
↲
2. THE BAUD RATE DETERMINATION MODE ......... 2↲
↲
3. THE INITIAL MEMORY TEST .................. 3↲
3.1 Initial RAM Test ..................... 3↲
3.1.1 Memory Test Flow ............... 4↲
3.1.2 Loop On Error .................. 4↲
↲
4. INTERRUPT HANDLING AND PVAM SWITCH ....... 5↲
4.1 Valid Interrupts ..................... 5↲
╞ 4.2 Instruction Violations and Instructions↲
Exceptions ........................... 6↲
↲
5. TEST 0 = RAM test ........................ 8↲
↲
6. TEST 1 = Chip Select Test ................ 10↲
↲
7. TEST 2 = 8254 Programmable Interval Timer↲
test ............................ 11↲
↲
8. TEST 3 = Disk Channel Test ............... 12↲
↲
9. TEST 4 = Numeric Processor Extension Test 14↲
↲
10. TEST 5 = Multibus Configuration .......... 15↲
↲
11. TEST 6 = Parallel Port Test .............. 17↲
↲
12. TEST 7 = Extended RAM Test ............... 18↲
12.1 Test Variables ...................... 18↲
12.1.1 Operating Mode ............... 19↲
12.1.2 Address Range ................ 19↲
12.1.3 Change Pattern ............... 20↲
12.1.4 Execute Subtest Alone ........ 20↲
12.1.5 Bus LOCK ..................... 20↲
12.2 Subtest 0 = Pattern test - WORD mode,↲
EVEN alignment ...................... 20↲
12.3 Subtest 1 = Pattern test - WORD mode,↲
ODD alignment ....................... 21↲
12.4 Subtest 2 = Pattern test - BYTE mode,↲
ALL bytes ........................... 22↲
12.5 Subtest 3 = Pattern test - BYTE mode,↲
EVEN bytes only ..................... 22↲
12.6 Subtest 4 = Pattern test - BYTE mode,↲
ODD bytes only ...................... 23↲
════════════════════════════════════════════════════════════════════════
↓
ii ╞ ╞ ↲
┆a1┆TABLE OF CONTENTS (continued) PAGE↲
12.7 Subtest 5 = ECC Error Correction Test 24↲
12.8 Subtest 6 = ECC Error Detection Test 25↲
↲
13. TEST 8 = Floppy Test ..................... 27↲
↲
14. TEST 9 = Printer Test .................... 30↲
↲
15. LED OUTPUT ............................... 31↲
↲
↲
┆a1┆APPENDICES↲
↲
A. REFERENCES ................................ 33╞ ↲
↲
B. COMPLETE ERROR LIST ....................... 34↲
════════════════════════════════════════════════════════════════════════
↓
════════════════════════════════════════════════════════════════════════
↓
┆14┆┆b3┆╞ ╞ ╞ ╞ ┆0b┆┆a1┆↲
┆a1┆┆a1┆┆b0┆1. INTRODUCTION↲
↲
The CPU 691 is an Intel Manufactured iAPX 286 processor board, ↓
used as the main CPU in early RC 39 products. The CPU 691 is ↓
going to be replaced by an RC Manufactured board called CPU 610.↲
↲
This manual assumes the reader is familiar with the RC 39 ↓
selftest concept as described in the manual called "The RC 39 ↓
Selftest Concept". The CPU 691 selftest includes 10 different ↓
tests which may be run in several modes. Six of these tests are ↓
┆b0┆default┆f0┆ tests which allways execute after a power on. One test ↓
┆19┆┄┆81┆┄is an ┆b0┆extended┆b0┆┆f0┆ test which may be appended to the default set when ↓
┆19┆┄┆83┆┄requested explicit by an operator. The last three tests are ↓
┆19┆┄┆83┆┄┆b0┆seperate┆b0┆l┆f0┆┆b0┆y┆f0┆ run tests, which may each be requested to execute as ↓
┆19┆┄┆86┆┄stand alone programs.↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆a1┆┆a1┆┆b0┆2. THE BAUD RATE ┆a1┆DETERMINATION MODE↲
↲
If a terminal is connected to the V.24 line 1 interface (CTS ↓
activ) then the selftest enters the automatic Baud Rate ↓
Determination mode. The USART is initialized to 9600 Baud and ↓
stars (*****) are written to line 1. These stars may be seen as ↓
stars, other mixed characters or not seen at all depending on the ↓
Baud Rate of the attached console. The selftest waits for the ↓
operator to enter one or two upper case U. One upper case U is ↓
enough if the Baud Rate is 9600, 4800 or 2400 Baud. Baud Rates of ↓
1200, 600 or 300 requires two upper case U.↓
════════════════════════════════════════════════════════════════════════
↓
┆b0┆┆a1┆3. THE INITIAL MEMORY TEST↲
↲
After a power on the selftest at first initializes the peripheral ↓
devices, and then enters the initial memory test. This very first ↓
part of the selftest executes in 8086 mode with interrupts ↓
disabeled.↲
↲
The initial memory test of the CPU 691 SBC selftest consists of ↓
two parts, a PROM checksum test and a RAM memory test. The ↓
contents of both the odd and the even PROM's are summarized ↓
ewise and the result must be a zero. For that reason the ↓
PROM's contain a compensation byte which is used to bring the sum ↓
to zero. The checksum test may produce the following errortext.↲
┆a1┆↲
┆b0┆┆f0┆1. ┆b0┆checksum test: sum error exp.:<0000> rec.:<xyzw>↲
↲
Checksum error usually means that the content of the PROM has ↓
been damaged and that the PROM must be changed.↲
↲
↲
┆a1┆┆b0┆3.1 Initial RAM Test.↲
↲
The initial RAM test verifies the first 64 kbytes of RAM ↓
addresses 000000-00FFFF hexadecimal. This part of RAM is used to ↓
hold the protection tables plus selftest and monitor variables ↓
when the processor enters the protected mode of operation.↲
↲
The memory test is a register based test and uses no memory space ↓
at all, neither for variables nor stack.↲
↲
┆a1┆┆e1┆The test pattern is the convenient modulus 3 pattern consisting ↓
of three times 0000 followed by three times FFFF ( hexadecimal ).↲
↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆3.1.1 Memory Test Flow.↲
↲
The test starts in the highest RAM address of the lowes 64 K byte ↓
memory block (FFFF hex.) and inserts the pattern towards lower ↓
addresses.↲
↲
When all initial memory words have been written and verified, ↓
they are tested again with the inversed pattern, this means, that ↓
all bits are tested for "zero" and "one" insertion. If an error ↓
occur the following message is written to the console.↲
↲
↲
┆a1┆┆b0┆┆f0┆┆b0┆2. ┆b0┆Initial RAM Test: RAM error segm.:<ssss> addr.:<aaaa>↲
┆19┆┄┆82┆┆82┆┆b0┆ exp.:<eeee>┆b0┆ rec.:<rrrr>↲
↲
The secondary text is interpreted like this :↲
↲
<ssss> is the segment address (allways 0000)↲
<aaaa> is the segment offset↲
<eeee> is the expected pattern, should allways be 0000 or FFFF.↲
<rrrr> is the received pattern.↲
↲
↲
┆a1┆┆b0┆3.1.2 Loop On Error.↲
↲
When a fault occur during the initial RAM test an error message ↓
is written to the console, and the RAM test starts from the ↓
beginning again. This will be the case until no error is ↓
discovered. If there is a RAM error and if an L is typed from the ↓
keyboard, then the RAM test will not start from the beginning ↓
again, but proceed trough the RAM test and write all RAM errors ↓
to the console, and finally enter the "test-administrator" to ↓
execute other tests if possible.↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆┆b0┆4. INTERRUPT HANDLING AND PVAM SWITCH↲
↲
When the CPU 691 SBC selftest has terminated the initial memory ↓
test the protection tables are copied from EPROM to RAM. Then the ↓
iAPX 286 CPU and the board as well is switched into the Protected ↓
Virtual Address Mode, and a message is written to the console ↓
like this:↲
↲
┆b0┆******* PVAM ENTERED *******↲
↲
If an 80827 Numeric Coprocessor is present, then it is also ↓
switched into the protected mode and another message written to ↓
the console:↲
↲
┆b0┆80287 NPX Found↲
↲
↲
┆a1┆┆b0┆4.1 Valid interrupts.↲
↲
A few interrupts are allways considered valid during the ↓
selftest:↲
↲
┆a1┆Request line Interrupt name Vector type Event type ↲
↲
internal Step interrupt 1╞ ┆84┆instruction executed ↓
┆19┆┆ac┆┄┄with trap flag set↲
↲
internal╞ Break interrupt╞ 3╞ ┆84┆software interrupt ↓
┆19┆┆ac┆┄┄(debugger entry)↲
↲
CNTR0╞ Timer 0╞ ╞ 40╞ Timer 0 interrupt↲
↲
SER INTR╞ USART receive int.╞ 34╞ Keyboard interrupt↲
↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆4.2 Protection Violations and Instruction Exceptions.↲
↲
The protection violations and instruction exceptions will cause ↓
the selftest to write a message to the console and then execute ↓
a HALT instruction. The only way to get out of these exception is ↓
to hardware reset the CPU.↲
↲
┆a1┆Vector type Error Text ↲
↲
0 Interrupt 0 at 'CS:IP' Divide By Zero↲
╞ ╞ HALTED - Hardware RESET required↲
↲
2╞ ╞ Interrupt 2 at 'CS:IP' NMI↲
╞ ╞ HALTED - Hardware RESET required↲
↲
4╞ ╞ Interrupt 4 at 'CS:IP' Overflow↲
╞ ╞ HALTED - Hardware RESET required↲
↲
5╞ ╞ Interrupt 5 at 'CS:IP' Bounds Check↲
╞ ╞ HALTED - Hardware RESET required↲
↲
6╞ ╞ Interrupt 6 at 'CS:IP' Undefined Operation↲
╞ ╞ HALTED - Hardware RESET required↲
↲
7╞ ╞ Interrupt 7 at 'CS:IP' Device Not Available↲
╞ ╞ HALTED - Hardware RESET required↲
↲
8╞ ╞ Interrupt 8 at 'CS:IP' Double Fault↲
╞ ╞ HALTED - Hardware RESET required↲
↲
9╞ ╞ Interrupt 9 at 'CS:IP' Math Address Error↲
╞ ╞ HALTED - Hardware RESET required↲
↲
10╞ ╞ Interrupt 10 at 'CS:IP' Invalid Task State Segment↲
- ECODE = XXXX↲
╞ ╞ HALTED - Hardware RESET required↲
↲
════════════════════════════════════════════════════════════════════════
↓
11╞ ╞ Interrupt 11 at 'CS:IP' Not Present - ECODE = XXXX↲
╞ ╞ HALTED - Hardware RESET required↲
↲
12╞ ╞ Interrupt 12 at 'CS:IP' Stack Protection↲
╞ ╞ - ECODE = XXXX↲
╞ ╞ HALTED - Hardware RESET required↲
↲
13╞ ╞ Interrupt 13 at 'CS:IP' General Protection↲
╞ ╞ - ECODE = XXXX↲
╞ ╞ HALTED - Hardware RESET required↲
↲
14╞ ╞ Interrupt 14 at 'CS:IP'↲
╞ ╞ HALTED - Hardware RESET required↲
↲
15╞ ╞ Interrupt 15 at 'CS:IP'↲
╞ ╞ HALTED - Hardware RESET required↲
↲
16╞ ╞ Interrupt 16 at 'CS:IP' Math Error↲
╞ ╞ HALTED - Hardware RESET required↲
↲
The term 'CS:IP' refers to the logical location in the program, ↓
where the exception came. The errorcode pushed onto the stack by ↓
some exceptions (ECODE) may be hard to decode, and no attempt to ↓
document them in this manual will be done. Consult INTEL manuals ↓
for further description of the exceptions and their errorcodes.↲
↲
All other interrupts that either refer to a NULL descriptor in ↓
the Interrupt Descriptor Table (IDT) or to a descriptor outside ↓
the IDT limit will cause one of the protection violations above. ↓
If a test uses interrupt vectors not mentioned above, then the ↓
test is responsible for loading the appropiate descriptor into ↓
the IDT prior to the test and to nullify the descriptor at the ↓
end of the test.↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆5. ┆b0┆TEST 0 =┆f0┆ RAM test.↲
↲
After the switching of the iAPX 286 processor to the protected ↓
mode of operation this RAM test is responsible for verifying the ↓
rest of the CPU 691 memory. The memory size is variable between ↓
512 K bytes and 8 M bytes and a maximum of 4 memory boards may be ↓
connected to a CPU 691 (iLBX BUS width is 5 slots). The memory ↓
must be contiguous from address 0 (the XENIX operating system ↓
assumes this).↲
↲
This RAM test, of course, dont verify the lowest part of memory ↓
addresses 0-FFFF hexadecimal, which is covered by the initial ↓
memory test and used to hold selftest variables.↲
↲
This test divides the available memory space into 64 K byte ↓
blocks, the first starting at address 10000 hexadecimal and the ↓
last ending at address 7FFFFF hexadecimal. For every possible 64 ↓
K byte block the RAM test does:↲
↲
1. ┆84┆Writes a pattern to the first byte of that block. Reads the ↓
┆19┆┆83┆┄┄byte back, and if the same pattern is read back memory is ↓
┆19┆┆83┆┄┄considered present and the verification of that block ↓
┆19┆┆83┆┄┄continues, otherwise the next 64 K byte block is tried.↲
↲
2. ┆84┆The 64 K byte block considered present in step 1 is filled ↓
┆19┆┆83┆┄┄with ones. The content is read back, and if not all ones an ↓
┆19┆┆83┆┄┄error message is generated and the test terminated.↲
↲
3. ┆84┆The 64 K byte block of memory is filled with zeroes. The ↓
┆19┆┆83┆┄┄content is read back, and if not all zeroes an error message ↓
┆19┆┆83┆┄┄is generated and the test terminated.↲
↲
4. ┆84┆Step 1 is entered again until the last possible 64 K byte ↓
┆19┆┆83┆┄┄block has been checked.↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆b0┆┆f0┆The RAM test may produce the following error message:↲
↲
1. ┆b0┆RAM test: RAM error segm.:<ssss> addr.:<aaaa> exp.:<eeee>↲
╞ ╞ ╞ ╞ ┆b0┆ rec.:<rrrr>↲
↲
The secondary text is interpreted like this :↲
↲
<ssss> ┆84┆is the segment LDT selector (use RC 39 Monitor to ↓
┆19┆┆87┆┄┄determine the physical address - XLDT <ssss>)↲
<aaaa> is the segment offset↲
<eeee> is the expected pattern, should allways be 0000 or FFFF.↲
<rrrr> is the received pattern.↲
↲
The memory size is handed over to the Multibus configuration ↓
program and displayed in the Multibus Configuration Schedule.↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆81┆┆a1┆┆b0┆6. ┆b0┆TEST 1 = ┆f0┆Chip Select Test.↲
↲
To ease complex debugging, a simple chip select loop, combined ↓
with a RAM write/read, is supplied. ↲
↲
This test generates chip selects to all peripheral devices by ↓
executing input instructions to all relevant I/O-devices. These ↓
are :↲
↲
Port ┆84┆0C0, 0C2, 0C4, 0C6, 0C8, 0CA, 0CC, 0CE, 0D0, 0D2, 0D4, 0D6, ↓
┆19┆┆85┆┄┄0D8, 0DA, 0DC, 0DE.↲
↲
When all the chip selects are made, a pattern AA55 hex. is ↓
written to a RAM cell and immediately read back.↲
↲
This test is unable to generate any error messages. It is meant ↓
only as a special fast scope loop test.↲
════════════════════════════════════════════════════════════════════════
↓
┆a2┆┆e2┆┆a1┆┆b0┆7. ┆b0┆TEST 2┆f0┆ = 8254 Programmable Interval Timer Test.↲
↲
This test verifies the ability of the 8254 PIT timer 0, used as a ↓
real time clock in XENIX, to generate interrupts. Timer 0 is ↓
initialized as a real time clock which generates interrupt every ↓
20 millisecond. If no timer interrupt is generated then an error ↓
message is generated like this.↲
↲
┆a1┆┆a1┆┆a1┆┆e1┆┆b0┆┆f0┆1. ┆b0┆PIT Test : missing timer 0 interrupt↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆8. ┆b0┆TEST 3┆f0┆ = Disk Channel Test.↲
↲
This test is used to exercise and verify the data channel between ↓
CPU 691 and the disk controller.↲
↲
The first part of this test executes a "disc diagnostic command" ↓
to the disc controller. This command orders the disc controller ↓
to verify its sector buffer by the use of several critical data ↓
patterns. If the disc controller responds with an error to this ↓
command an error message is generated.↲
↲
1. ┆b0┆Disc Channel test: disc diagnostic error↲
↲
If the disc does'nt respond to the disc diagnostic command within ↓
800 milliseconds an error message is generated.↲
↲
2. ┆b0┆Disc Channel test: transfer timeout or interrupt missing↲
↲
The second part of this test executes a "write sector buffer ↓
command " followed by a "read sector buffer command". The data ↓
read back are compared to the written pattern and if not equal an ↓
error message is generated.↲
↲
┆b0┆┆b0┆┆f0┆3. ┆b0┆Disc Channel test: disc channel error segm.:<ssss> addr.:<aaaa>↲
┆b0┆exp.:<eeee> rec.:<rrrr>↲
↲
The secondary error text is interpreted like this :↲
↲
<ssss> ┆84┆is the segment LDT selector (use RC 39 Monitor to ↓
┆19┆┆87┆┄┄determine the physical address - XLDT <ssss>)↲
<aaaa> is the segment offset↲
<eeee> is the expected pattern, should allways be 0000 or FFFF.↲
<rrrr> is the received pattern.↲
↲
Otherwise. If an error of the disc is discovered an error message ↓
like this is written to the console.↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆82┆4. ┆b0┆Disc Channel test: disc command error↲
↲
This error might be caused by malfunction of the disc, by a fault ↓
of the interface circuits , or by something else. ↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆9. ┆b0┆TEST 4 =┆f0┆ Numeric Processor Extension Test.↲
↲
The Numeric Processor Extension test program applies to the ↓
verification of the 80287 coprocessor and its interface circuits. ↓
If no 80287 coprocessor is present (bit 2 Machine Status Word ↓
"0") then a message is written to the console like this.↓
↲
1. ┆b0┆80287 NPX Test: NPX not present: OK↲
↲
Otherwise if the NPX is present the test proceeds and verifies ↓
the NPX's function. If an error is discovered an error message ↓
like this is written to the console.↲
↲
2. ┆b0┆80287 NPX Test: 80287 NPX not OK↲
↲
This error might be caused by malfunction of the 80278 chip, by ↓
a fault of the interface circuits , or by something else. ↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆10. ┆b0┆TEST 5 =┆f0┆ Multibus Configuration.↲
↲
When the CPU 691 has finished its own selftest it will make a ↓
Multibus configuration. Every RC-manufactured SBC card is located ↓
with its Dual-Ported RAM ending on a 64 KB boundary address. When ↓
a RC 39 SBC starts the execution of its selftest program it ↓
immediately initializes the last word in its Dual-Ported RAM with ↓
a special pattern corresponding to "not-ready". When the test is ↓
terminated with or without an error the pattern is changed to ↓
"ready". Ready indicates to the "test-master" that the SBC is ↓
ready to communicate. Both the "not-ready" pattern and the ↓
"ready" pattern must of course be different from the pattern ↓
which is read by the "test-master" when reading from a Multibus ↓
address with non-existing RAM (bus acknowledge timeout assumed).↲
↲
The hardware configuration process is possible due to the fact ↓
that all the "test-slaves" communicates with the "test-master" ↓
trough DP-RAM located to end on 64 K boundaries. This minimizes ↓
the configuration attempts to a maximum of 32 entries ↓
(controllers are placed between Multibus addresses 800000-A00000 ↓
hexedecimal). During the configuration process the "test-master" ↓
starts reading from the top of the controller address space ↓
(address 9FFFFF hexadecimal). If a pattern equal to "not-ready" ↓
or "ready" is found the selftest assumes that an intelligent SBC ↓
card is present, and reads som further parameters such as card-↓
type, RAM-size and selftest execution time in seconds. If the ↓
card is marked "not-ready" the "test-master" may use the selftest ↓
execution time to decide how long to wait for that card to become ↓
"ready". Also a handshake protocol is executed to reassure that ↓
the "ready" pattern was not read by random. From the knowledge to ↓
the RAM-size the "test-master" calculates the address where to ↓
continue the Multibus configuration. If no "ready" or "not-ready" ↓
pattern is received then the "test-master" configuration writes ↓
to and reads back from the RAM cell to find out if some RAM ↓
really exists on that Multibus address. The configuration program ↓
════════════════════════════════════════════════════════════════════════
↓
ends with writing a configuration schedule to the console. The ↓
schedule might look like this:↲
┆b0┆↲
╱04002d4e0c000600000000020147310000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
╱04002d4e0a0006000000000201413100000000000000000000000000000000000000000000000000050f19232d37414b555f69737d8791ff04╱
↓
┆b0┆Multibus Configuration:↲
┆b0┆======================================================================↲
┆b0┆┆b0┆MB entry - MB address - Card State - Card ID - MB RAM size - error no.↲
┆b0┆======================================================================↲
┆b0┆00000╞ 000000 master╞ CPU 691 02048 00000↲
┆b0┆┆b0┆00001╞ 9E0000╞ ready╞ ITC 602 00064╞ 00000↲
┆b0┆00002 8E0000╞ ready╞ COM 601 00064 00000↲
┆b0┆00003 800000 ready ETC 611 00512 00000↲
╱04002d4e0a000600000000030141310000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
╱04002d4e0c000600000000020147310000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
↓
↲
The configuration data is stored in a specific data structure ↓
where it may be accessed by the system software.↲
↲
The bootload is not inhibited if a "test-slave" has found an ↓
error during its default selftest, but a message is written to ↓
the console. The reason for this is that an incremental part of ↓
the system may still be running, and this might be sufficient for ↓
many users.↲
↲
The default selftest terminates with directing all the "test-↓
slaves" found during the multibus configuration to their bootload ↓
phase and it may look like this.↲
↲
┆b0┆<00001> sent to bootload↲
┆b0┆<00002> sent to bootload↲
┆b0┆<00003> sent to bootload↲
↲
If some slave dosen't respond correctly to the boot command a ↓
message is written to the console like this.↲
↲
┆b0┆<00002> slave answer timeout↲
↲
Consult the manual called "The RC39 selftest concept" for further ↓
┆19┆┄┆81┆┄information about the Multibus configuration and details about ↓
┆19┆┄┆81┆┄how to run further diagnostics on the "test-slaves".↲
════════════════════════════════════════════════════════════════════════
↓
╱04002d4e0a000600000000030141314000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
╱04002d4e0a000600000000030141310000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
↓
┆a1┆┆b0┆11.┆b0┆ TEST 6 =┆f0┆ Parallel Port Test.↲
↲
The 8255A PPI test writes a pattern 10100000 binary to the output ↓
port A (I/O addr. C8H). Then it reads the pattern back and ↓
verifies it. If no error is detected the pattern is shifted one ↓
bit to the right, and the write/read verify procedure is repeated ↓
until the pattern becomes zero. The test may generate this error ↓
message:↲
↲
┆b0┆┆e1┆┆a1┆┆e1┆┆f0┆1. ┆b0┆PPI test: port error exp.:00ee, rec.:00rr↲
↲
Expected and received pattern tells you what bits went wrong with ↓
the test.↲
↲
This error might be caused by malfunction of the 8255A chip, by ↓
an initialization fault (I/O space error), or by something else. ↓
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆12. ┆b0┆TEST 7┆f0┆ = Extended RAM Test.↲
↲
This ┆b0┆seperately┆f0┆ run test is supplied to verify the functionality ↓
┆19┆┄┆81┆┄of the INTEL iSBC 012X or the RC MEM 602/603 memory boards. The ↓
┆19┆┄┆81┆┄test is divided into 6 different subtests, which must either ↓
┆19┆┄┆81┆┄execute alone or in a big sequential loop. The first time the ↓
┆19┆┄┆81┆┄test is run several variables must be supplied to the test.↲
↲
↲
┆a1┆┆b0┆12.1 Test Variables.↲
↲
The first time the test is selected a menu is written to the ↓
console like this.↲
↲
╱04002d4e0c00060000000003014d314000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
╱04002d4e0a000600000000030141314000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
↓
┆b0┆MEM 60X Test: ************** Extended RAM test - Operating Instructions↓
╱04002d4e0a000600000000030141314000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
╱04002d4e0c00060000000003014d314000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
↓
┆b0┆Press <ctl><X>= start MEM 60X test↲
┆b0┆Press <ctl><A>= Enter Debugger Loader↲
┆b0┆Press <escape>= Return to Test Administrator↲
↲
┆b0┆SUBTEST↲
┆b0┆ 0. Pattern test - WORD mode, EVEN alignment↲
┆b0┆ 1. Pattern test - WORD mode, ODD alignment↲
┆b0┆ 2. Pattern test - BYTE mode, ALL bytes↲
┆b0┆ 3. Pattern test - BYTE mode, EVEN bytes only↲
┆b0┆ 4. Pattern test - BYTE mode, ODD bytes only↲
┆b0┆ 5. ECC error correction test↲
┆b0┆ 6. ECC error detection test↲
↲
When a <ctl><X> is entered the questions below will be asked line ↓
by line by the test program. Questions in paranthesis is only ↓
asked if the former question was answered with yes (Y).↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆b0┆Enter normal MEM 60X operating mode (ECR port) ? 0FH/↲
┆b0┆Enter test START 64 KB Block number ? <1-FF>, 1H/↲
┆b0┆Enter test START Offset address ? <0-FFFF>, 0H/↲
┆b0┆Enter test END 64 KB Block number ? <1-FF>, 1H/↲
┆b0┆Enter test END Offset address ? <0-FFFF>, 0H/↲
┆b0┆Enter MEM 60X PORT address ? <0-FFFF>, 1C0/↲
┆b0┆Change pattern ? <Y/N>, N/↲
┆b0┆(Enter Your Pattern !! /)↲
┆b0┆Run Subtest ? <Y/N>, N/↲
┆b0┆(Enter Subtest Number ? <0-7>, 0/)↲
┆b0┆Bus LOCK active ? <Y/N>, N/↲
↲
Valid answers is shown in brackets (<>), except for the operating ↓
mode. If a carriage return is entered the value left to the slash ↓
is taken by default.↲
↲
↲
┆a1┆┆b0┆12.1.1 Operating Mode.↲
↲
It is not recommended to change the operating mode, except for ↓
disabeling the error correction logic (mode 0BH) during the ↓
execution of subtest 0-4. Subtest 5 is unable to execute ↓
succesfully with error correction disabeled.↲
↲
↲
┆a1┆┆b0┆12.1.2 Address Range.↲
↲
This test divides the 16 M Byte physical memory space into 256 ↓
blocks of 64 K byte each. It is impossible to execute this test ↓
in the lowest 64 K byte block. That block is used for selftest ↓
stack and variables. The physical start or end address for the ↓
test is given as a block number 1-255 plus an offset 0-65536 ↓
which must be entered in hexadecimal. Normally the address range ↓
is selected not to go across Multibus memory board boundaries, ↓
but if subtest 0-4 is executed alone it is possible to execute ↓
the test across contiguous memory board boundaries.↲
↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆12.1.3 Change Pattern.↲
↲
The pattern used by the selftest is by default 6 words long (3 ↓
times 0000 and 3 times FFFF hexadecimal). If the change pattern ↓
question is answered with a yes, then it will be possible to ↓
change the pattern itself and the length of the pattern also. The ↓
minimum length of the pattern is one word and the maximum length ↓
is six words. The "Enter your pattern" question may be terminated ↓
by the <escape> button after 1,2,3,4 or 5 words, the number of ↓
words giving the length of the pattern.↲
↲
↲
┆a1┆┆b0┆12.1.4 Execute Subtest Alone.↲
↲
If the Run Subtest question is answered with a yes, an additional ↓
question about the subtest number is asked.↲
↲
↲
┆a1┆┆b0┆12.1.5 Bus LOCK.↲
↲
If the Bus Lock question is answered with a yes, then subtest 0-4 ↓
executes all memory read or write commands with the Bus Lock ↓
Prefix. It is impossible to lock the bus for more than the ↓
duration of one instruction.┆a1┆↲
↲
↲
┆a1┆┆b0┆12.2 Subtest 0 = Pattern test - WORD mode, EVEN alignment.↲
↲
Subtest 0 writes the pattern word by word from the pattern buffer ↓
to memory from the start address to the end address. EVEN ↓
alignment is forced on the start address (start address ↓
decremented if ODD). The pattern is read back and compared to the ↓
original one, and if equal the test is repeated with the inversed ↓
pattern, otherwise an error message is generated.↲
↲
↲
┆8c┆┆83┆┆b0┆↓
1. ┆b0┆MEM 60X Test: Subtest: 0 - RAM error segm.:<ssss> addr.:<aaaa>↲
┆19┆┄┆81┆┆82┆ exp.:<eeee> rec.:<rrrr>↲
↲
The secondary text is interpreted like this :↲
↲
<ssss> ┆84┆is the 64 K byte block number (1-FF).↲
<aaaa> is the offset within the block (0-FFFF).↲
<eeee> is the expected pattern.↲
<rrrr> is the received pattern.↲
↲
↲
┆a1┆┆b0┆12.3 Subtest 1 = Pattern test - WORD mode, ODD alignment.↲
↲
Subtest 1 writes the pattern word by word from the pattern buffer ↓
to memory from the start address to the end address. ODD ↓
alignment is forced on the start address (start address ↓
incremented if EVEN). The pattern is read back and compared to ↓
the original one, and if equal the test is repeated with the ↓
inversed pattern, otherwise an error message is generated.↲
↲
1. ┆b0┆MEM 60X Test: Subtest: 1 - RAM error segm.:<ssss> addr.:<aaaa>↲
┆19┆┄┆81┆┆82┆ exp.:<eeee> rec.:<rrrr>↲
↲
The secondary text is interpreted like this :↲
↲
<ssss> ┆84┆is the 64 K byte block number (1-FF).↲
<aaaa> is the offset within the block (0-FFFF).↲
<eeee> is the expected pattern.↲
<rrrr> is the received pattern.↲
↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆12.4 Subtest 2 = Pattern test - BYTE mode, ALL bytes.↲
↲
Subtest 2 writes the pattern byte by byte from the pattern buffer ↓
to memory from the start address to the end address. The pattern ↓
is read back and compared to the original one, and if equal the ↓
test is repeated with the inversed pattern, otherwise an error ↓
message is generated.↲
↲
1. ┆b0┆MEM 60X Test: Subtest: 2 RAM error segm.:<ssss> addr.:<aaaa>↲
┆b0┆ exp.:<eeee> rec.:<rrrr>↲
↲
The secondary text is interpreted like this :↲
↲
<ssss> ┆84┆is the 64 K byte block number (1-FF).↲
<aaaa> is the offset within the block (0-FFFF).↲
<eeee> is the expected pattern.↲
<rrrr> is the received pattern.↲
↲
↲
┆a1┆┆b0┆12.5 Subtest 3 = Pattern test - BYTE mode, EVEN bytes only.↲
↲
Subtest 3 writes the pattern byte by byte from the pattern buffer ↓
to the EVEN memory cells from the start address to the end ↓
address. EVEN alignment is forced on the start address (start ↓
address decremented if ODD). Before the EVEN byte is written the ↓
inversed pattern is written to the ODD byte (EVEN address + 1). ↓
The pattern is read back and compared to the original one, and if ↓
equal the test is repeated with the inversed pattern, otherwise ↓
an error message is generated. It is also checked if the writing ↓
of the EVEN memory cell disturbed the content of the ODD memory ↓
cell and if true an error message is generated.↲
↲
════════════════════════════════════════════════════════════════════════
↓
1. ┆b0┆MEM 60X Test: Subtest: 3 - RAM error segm.:<ssss> addr.:<aaaa>↲
┆b0┆ exp.:<eeee> rec.:<rrrr>↲
↲
The secondary text is interpreted like this :↲
↲
<ssss> ┆84┆is the 64 K byte block number (1-FF).↲
<aaaa> is the offset within the block (0-FFFF).↲
<eeee> is the expected pattern.↲
<rrrr> is the received pattern.↲
↲
↲
┆a1┆┆b0┆12.6 Subtest 4 = Pattern test - BYTE mode, ODD bytes only.↲
↲
Subtest 4 writes the pattern byte by byte from the pattern buffer ↓
to the ODD memory cells from the start address to the end ↓
address. ODD alignment is forced on the start address (start ↓
address incremented if ODD). Before the ODD byte is written the ↓
inversed pattern is written to the EVEN byte (ODD address - 1). ↓
The pattern is read back and compared to the original one, and if ↓
equal the test is repeated with the inversed pattern, otherwise ↓
an error message is generated. It is also checked if the writing ↓
of the ODD memory cell disturbed the content of the EVEN memory ↓
cell and if true an error message is generated.↲
↲
1. ┆b0┆MEM 60X Test: Subtest: 4 - RAM error segm.:<ssss> addr.:<aaaa>↲
┆b0┆ exp.:<eeee> rec.:<rrrr>↲
↲
The secondary text is interpreted like this :↲
↲
<ssss> ┆84┆is the 64 K byte block number (1-FF).↲
<aaaa> is the offset within the block (0-FFFF).↲
<eeee> is the expected pattern.↲
<rrrr> is the received pattern.↲
↲
↲
┆8c┆┆83┆┆a4┆↓
┆a1┆┆a1┆┆b0┆12.7 Subtest 5 = ECC Error Correction Test.↲
↲
Subtest 5 verifies the ability of the ECC hardware circiutry to ↓
correct single bit errors.↲
↲
First the test resets all memory cells from the start address to ↓
the end address, and if unable to reset memory generates an error ↓
message like this.↲
↲
1. ┆b0┆MEM 60X Test: Subtest: 5 - Could not reset RAM↲
↲
If RAM is reset succesfully the then test proceeds and makes the ↓
start address EVEN aligned (decrement start address if ODD). Then ↓
a pattern equal to 0000000000000001 binary is written to the ↓
first memory cell in diagnostic mode (writing of checkbits ↓
inhibited), the checkbits is read and saved for an eventually ↓
error message. The operating mode is restored and the data is ↓
read back. The syndrome bits are read and if they does'nt ↓
indicate an error correct correction (the bit set in the pattern ↓
should get corrected to a 0) then an error message is written to ↓
the console.↲
↲
2. ┆b0┆MEM 60X Test: Subtest: 5 - error correction error↲
┆b0┆synbit <yyyy> chkbit <cccc> segm.:<ssss> addr.:<aaaa>↲
┆19┆┄┆81┆┆82┆ exp.:<eeee> rec.:<rrrr>↲
┆a1┆↲
The secondary text is interpreted like this :↲
↲
<yyyy> ┆84┆is the syndrome bits that shoud indicate a one bit error ↓
┆19┆┆87┆┄┄correction.↲
<cccc> ┆84┆is the checkbits that was not written because diagnostic ↓
┆19┆┆87┆┄┄mode was selected.↲
<ssss> ┆84┆is the 64 K byte block number (1-FF).↲
<aaaa> is the offset within the block (0-FFFF).↲
<eeee> is the expected pattern, always 0000.↲
<rrrr> is the received pattern.↲
↲
════════════════════════════════════════════════════════════════════════
↓
If no error occur then the pattern is shifted one position left ↓
until a carry and the test is repeated for every memory cell from ↓
the start address to the end address.↲
┆a1┆┆82┆↲
↲
┆a1┆┆b0┆12.8 Subtest 6 = ECC Error Detection Test.↲
↲
Subtest 6 verifies the ability of the ECC hardware circiutry to ↓
detect double bit errors.↲
↲
First the test resets all memory cells from the start address to ↓
the end address, and if unable to reset memory generates an error ↓
message like this.↲
↲
1. ┆b0┆MEM 60X Test: Subtest: 6 - Could not reset RAM↲
↲
If RAM is reset succesfully then the test proceeds and makes the ↓
start address EVEN aligned (decrement start address if ODD). Then ↓
a pattern equal to 0000000000000101 binary is written to the ↓
memory in diagnostic mode (writing of checkbits inhibited), the ↓
checkbits is read and saved for an eventually error message. The ↓
operating mode is restored and the data is read back. The ↓
syndrome bits are read and if they does'nt indicate a double ↓
error detection then an error message is written to the console.↲
↲
2. ┆b0┆MEM 60X Test: Subtest: 6 - error detection error↲
┆b0┆ synbit <yyyy> chkbit <cccc> segm.:<ssss> addr.:<aaaa> ↲
┆19┆┄┆81┆┆82┆ exp.:<eeee> rec.:<rrrr>↲
┆a1┆↲
The secondary text is interpreted like this :↲
↲
<yyyy> ┆84┆is the syndrome bits that shoud indicate a double bit ↓
┆19┆┆87┆┄┄error detection↲
════════════════════════════════════════════════════════════════════════
↓
<cccc> ┆84┆is the checkbits that was not written because diagnostic ↓
┆19┆┆87┆┄┄mode was selected.↲
<ssss> ┆84┆is the 64 K byte block number (1-FF).↲
<aaaa> is the offset within the block (0-FFFF).↲
<eeee> is the expected pattern, always 0000.↲
<rrrr> is the received pattern.↲
↲
If no error occur then the pattern is shifted one position left ↓
until a carry and the test is repeated for every memory cell from ↓
the start address to the end address.↲
┆a1┆┆82┆↓
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆13. ┆b0┆TEST 8┆f0┆ = Floppy Test.↲
↲
This is a ┆b0┆seperately ┆f0┆run test supplied to verify the ↓
┆19┆┄┆81┆┄functionality of the floppy disk drive, not the floppy media ↓
┆19┆┄┆81┆┄itself.↲
↲
This test will, if not terminated before the end, verify every ↓
single sector on the floppy disc. The format of the floppy disc, ↓
which must be formatted properly prio to the test, is fixed and ↓
is.↲
↲
╞ ╞ ╞ ┆84┆1024 bytes/sector.↲
╞ ╞ ╞ 8 sectors/track.↲
╞ ╞ ╞ 2 heads/cylinder.↲
╞ ╞ ╞ 77 cylinders/disk.↲
↲
This test verifies the floppy drive sector for sector, beginning ↓
with sector 0 (head 0 track 0 sector 0). Before the sector is ↓
written the content of the sector is read to a save buffer, which ↓
is restored if no disk error occur. This makes the floppy test, ↓
if the floppy drives is ok, non media destructive. If the test ↓
cannot read a sector an error message is generated.↲
↲
1. ┆b0┆Floppy test: Floppy can not read ╞ ╞ rec.:<rrrr>↲
↲
<rrrr> is the error code from the disc controller. The OMTI Reference ↓
Manual (SDC 691) Appendix B gives the information about this ↓
error code.↲
↲
If the disk controller does'nt respond to a disk's command within ↓
1 second an error message is generated.↲
↲
2. ┆b0┆Floppy test: transfer timeout↲
↲
════════════════════════════════════════════════════════════════════════
↓
If the first step went succesfull, then a pattern is written to ↓
the sector, and the disc controller may respond with an error ↓
which makes the test program write an error message.↲
↲
3. ┆b0┆Floppy test: Floppy can not write ╞ ╞ rec.:<rrrr>↲
↲
If no error has happend until now the sector is read back and ↓
compared to the original one, and if equal the test is repeated ↓
on the next sector until end of disk, otherwise an error message ↓
is generated.↲
↲
4. ┆b0┆Floppy test: bad sector sector:<dddd>, segm.:<ssss>,↲
╞ ╞ ┆b0┆addr.:<aaaa>, exp.:<eeee>, rec.:<rrrr>↲
↲
The secondary error text is interpreted like this :↲
↲
<dddd> gives the address of the bad sector.↲
<ssss> ┆84┆is the segment LDT selector (use RC 39 Monitor to ↓
┆19┆┆87┆┄┄determine the physical address - XLDT <ssss>).↲
<aaaa> is the segment offset.↲
<eeee> is the expected pattern.↲
<rrrr> is the received pattern.↲
↲
Otherwise. If an error of the disk controller or of the disk ↓
drive is discovered an error message like this is written to the ↓
console.↲
↲
┆82┆5. ┆b0┆Floppy test: floppy command error↲
↲
This error might be caused by malfunction of the disc, by a fault ↓
of the interface circuits , or by something else. ↲
↲
If no error happens, then the floppy test writes a '.' (period) ↓
to the console output for every cylinder verified like this.↲
↲
════════════════════════════════════════════════════════════════════════
↓
┆b0┆Floppy test: ........... and so on↲
↲
The Floppy test is terminated by the escape button.↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆14.┆b0┆ TEST 9┆f0┆ = Printer Test.↲
↲
A ┆b0┆seperately ┆f0┆run test is supplied to verify the functionality of ↓
┆19┆┄┆81┆┄the Centronix Printer Interface. The test writes a pattern to the ↓
┆19┆┄┆81┆┄printer like this:↲
↲
╱04002d4e0c00060000000002014b314000000000000000000000000000000000000000000000000008101820283038404a4b555f69737dff04╱
╱04002d4e0a000600000000030141314000000000000000000000000000000000000000000000000008101820283038404b555f69737dffff04╱
↓
!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456↲
789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./012↲
3456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-.↲
/0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*↲
+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&↲
'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"↲
#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789↲
!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456↲
789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./012↲
3456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-.↲
/0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*↲
+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&↲
'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"↲
#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789!"#$%&'()*+,-./0123456789↲
↲
and so on.↲
╱04002d4e0a000600000000030141314000000000000000000000000000000000000000000000000008101820283038404a4b555f69737dff04╱
╱04002d4e0c00060000000002014b314000000000000000000000000000000000000000000000000008101820283038404a4b555f69737dff04╱
↓
↲
The printer test is terminated by the escape button.↲
↲
If the printer is'nt selected an error message is generated.↲
↲
1. ┆b0┆Printer Test: printer not selected↲
↲
If the does'nt respond to a character (STROBE signal) with an ↓
acknowledge interrupt then an error message is generated.↲
↲
2. ┆b0┆Printer Test: missing interrupt↲
↲
If the printer is busy for more than 1 minute an error message is ↓
generated.↲
↲
3. ┆b0┆Printer Test: printer busy↲
↓
↓
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆15. LED OUTPUT.↲
↲
During the execution of selftest the LED named "TEST" connected ↓
to bit 1 on the 8255 PPI port C (I/O address CC hex.) is lit. If ↓
an error occur, except checksum error and initial RAM error, then ↓
the LED is made flashing. This LED is placed on the front of the ↓
RC 39 cabinet.↲
════════════════════════════════════════════════════════════════════════
↓
↲
════════════════════════════════════════════════════════════════════════
↓
┆a1┆┆b0┆A. REFERENCES↲
↲
(1) RCSL. 991 10092↲
RC 39 Selftest Concept, ↲
User's manual ╞ ↲
↲
(2) RCSL. 991 10096↲
RC 3931 ETC611 hardware selftest, ↲
User's manual ↲
↲
(3) RCSL. 991 10097↲
F641 COM 601 hardware selftest, ↲
User's manual ↲
↲
(4) RCSL. 991 10095↲
┆a1┆┆e1┆ ITC 602 hardware selftest, ↲
User's manual╞ ↲
↲
(5) RCSL. 991 10134↲
RC39 monitor 8086 version, ↲
Reference manual╞ ↲
↲
(6) RCSL. 991 10093↲
RC39 monitor 80286 version, ↲
Reference manual ↲
↲
(7) RCSL. 991 10083↲
MEM 602, MEM 603 ↲
General Information╞ ╞ ↲
↲
(8) RCSL. 991 10084↲
MEM 602, MEM 603 ↲
Technical Description╞ ╞ ↲
════════════════════════════════════════════════════════════════════════
↓
╱04002d4e0c000600000000020150314000000000000000000000000000000000000000000000000008101820283038404a4b555f69737dff04╱
╱04002d4e0a000600000000030141314000000000000000000000000000000000000000000000000008101820283038404a4b555f69737dff04╱
↓
┆a1┆┆b0┆B. ┆a1┆COMPLETE ERROR LIST↲
↲
!-----------------------------------------------------------------------------!↲
! Err. No !╞ ╞ ╞ ╞ Error Text ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
! 0 ! OK╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 1 ! Checksum Test: sum error ╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 2╞ ! Initial Memory Test: RAM error╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 2╞ ! RAM Test: RAM error╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 5 ! PPI test: port error ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 6 ! PIT test: missing timer 0 interrupt╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 10 ! Printer Test: missing interrupt╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 11 ! Printer Test: printer not selected╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------;↲
! 12 ! Printer Test: printer busy╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 20 ! MEM 60X Test: Subtest: n - RAM error╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 21 ! MEM 60X Test: Subtest: n - Could not reset RAM !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 22 ! MEM 60X Test: Subtest: 5 - data correction error ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 23 ! MEM 60X Test: Subtest: 6 - error detection error ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
════════════════════════════════════════════════════════════════════════
↓
↲
!-----------------------------------------------------------------------------!↲
! 40 ! Disc Channel test: transfer timeout or interrupt missing╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 41 ! Disc Channel test: disc diagnostic error╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 42 ! Disc Channel test: disc command error╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 43 ! Disc Channel test: disc channel error╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 50 ! 80287 NPX test: 80287 not OK ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 80 ! Floppy test: transfer timeout╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 81 ! Floppy test: floppy command error ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 82 ! Floppy test: floppy can not read !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 83 ! Floppy test: floppy can not write ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
!-----------------------------------------------------------------------------!↲
! 84 ! Floppy test: bad sector╞ ╞ ╞ ╞ ╞ ╞ !↲
!-----------------------------------------------------------------------------!↲
↲
════════════════════════════════════════════════════════════════════════
↓
↲
↓
↓
┆1a┆┆1a┆!↲
↲
!-----------------------------------------------------------------------------