5616: Difference between revisions
m not a stub |
Updated with more details after reverse-engineering the firmware |
||
| Line 2: | Line 2: | ||
==Introduction== | ==Introduction== | ||
The 5616 is a baby module used in Samson-based ND-5000 systems. | The 5616 is a baby module used in Samson-based ND-5000 systems. | ||
The module contains: | The module contains: | ||
* The access processor | * The access processor | ||
* The ND OctoBus controller | * The ND OctoBus controller | ||
| Line 13: | Line 11: | ||
From the ACCP command prompt, commands can be entered for: | From the ACCP command prompt, commands can be entered for: | ||
* Debugging | * Debugging | ||
* Status inspection | * Status inspection | ||
| Line 22: | Line 19: | ||
==Characteristics== | ==Characteristics== | ||
* PCB number: 5616 | * PCB number: 5616 | ||
* Product number: ND-324716 | * Product number: ND-324716 | ||
| Line 39: | Line 35: | ||
==Functions== | ==Functions== | ||
The module provides two principal functions: | The module provides two principal functions: | ||
* Access processor functionality | * Access processor functionality | ||
* Control of the ND OctoBus | * Control of the ND OctoBus | ||
| Line 48: | Line 42: | ||
The console can be used for: | The console can be used for: | ||
* Debugging | * Debugging | ||
* Reading system status | * Reading system status | ||
* Running tests | * Running tests | ||
* Performing diagnostic operations | * Performing diagnostic operations | ||
The module is an [[OCTOBUS]] node. It both sends and receives OctoBus messages, and its firmware implements the kick, ident and multibyte message classes of the OctoBus protocol. | |||
The ACCP is not a DOMINO I/O controller. A DOMINO controller (DIOC) is built around an MC68020 with an MFP peripheral chip and reaches shared memory through the MFbus Adapter. The ACCP uses an MC68000, drives its console through a separate DUART, and reaches MFbus memory through the ND-5000 datapath rather than through an MFA. | |||
==System use== | ==System use== | ||
The module was used in several ND-5000 system configurations. | The module was used in several ND-5000 system configurations. | ||
* ND-320001, used in ND-5200 systems: first layer of baby modules | * ND-320001, used in ND-5200 systems: first layer of baby modules | ||
* ND-320002, used in ND-5400, ND-5500 and ND-5700 systems: second layer of baby modules | * ND-320002, used in ND-5400, ND-5500 and ND-5700 systems: second layer of baby modules | ||
| Line 65: | Line 60: | ||
===Static RAM=== | ===Static RAM=== | ||
The module contains four SRAM devices. | The module contains four SRAM devices. | ||
* Device type: TC5565 | * Device type: TC5565 | ||
* Number of devices: 4 | * Number of devices: 4 | ||
| Line 74: | Line 67: | ||
===EPROM=== | ===EPROM=== | ||
The module contains two EPROM devices. | |||
The module contains two EPROM devices | |||
* Number of devices: 2 | * Number of devices: 2 | ||
* Capacity per device: 65536 × 8 bits | * Capacity per device: 65536 × 8 bits | ||
| Line 82: | Line 73: | ||
* EPROM 51200L | * EPROM 51200L | ||
* EPROM 51201L | * EPROM 51201L | ||
The two EPROMs hold the firmware executed by the access processor itself. That firmware also contains an embedded microprogram image used by the module's selftests, so the devices are sometimes described as microprogram EPROMs. | |||
A dumped set of these EPROMs carries the revision letter '''J''' (51200J and 51201J) rather than '''L''', which indicates that more than one revision of the firmware exists. | |||
==Address map== | |||
The following addresses are used by the module's firmware. They were established by analysis of the EPROM contents. | |||
===Memory=== | |||
* 000000–01FFFF: EPROM, 128 KB | |||
* 110000–117FFF: static RAM, 32 KB | |||
===ND-5000 datapath interface=== | |||
* 220000: command port | |||
* 440000: data register, low half | |||
* 550000: data register, high half | |||
* 660000, 660001: status and handshake | |||
The module has no directly memory-mapped window onto MFbus main memory. Accesses to MFbus memory are performed by driving the ND-5000 datapath through the command port, with the 32-bit MFbus address written to the two data registers. | |||
===OctoBus=== | |||
* 770004: OctoBus transmit data | |||
* 770007: OctoBus transmit status | |||
* 880000: OctoBus receive data | |||
* 900001: module configuration; the low five bits give the module's own OctoBus station number | |||
===Console=== | |||
* DD0000 and upwards, odd byte addresses: DUART registers, addressed as DD0000 + 2N + 1 | |||
The firmware drives an SCN2681-compatible dual UART for the console. The corresponding device is not listed in the component list below, so the physical part fitted to the PCB should be confirmed against a board. | |||
==Firmware== | |||
The firmware is written in PLANC, using the Norsk Data PLANC compiler for the MC68000. | |||
The module has no operating system and no kernel. The firmware is a single command loop with interrupt handlers, and does not use the PIOC-OS kernel found on some other Norsk Data controllers. | |||
===Startup=== | |||
At power-up the module: | |||
* Runs its selftests, printing single-letter progress markers to the console | |||
* Tests MPM memory | |||
* Searches for an MFbus controller by sending an OctoBus multibyte message to stations 2 through 7 in turn | |||
* Determines the CPU model and reports it as a line beginning "CPU model: ND-" | |||
* Presents the console prompt "ACCP:" | |||
If no station answers the search, the module reports "MFbus controller not found at Octobus stations 2-7." and the CPU model falls through to ND-5800. | |||
===Console commands=== | |||
The firmware implements 43 console commands. Command names may be abbreviated. HELP lists them. | |||
Microprogram and control store: | |||
* CONTINUE-MICROPROGRAM | |||
* LOAD-CONTROL-DECODER <Data (16)> | |||
* LOAD-CONTROL-STORE <CS address> <127-112> <111-096> <095-080> <079-064> <063-048> <047-032> <031-016> <015-000> | |||
* LOAD-MAR <CS address> | |||
* LOAD-MIR <127-112> <111-096> <095-080> <079-064> <063-048> <047-032> <031-016> <015-000> | |||
* LOOK-AT-CONTROL-CACHE <CC address> | |||
* LOOK-AT-CONTROL-STORE <CS address> | |||
* READ-MIR | |||
* RESTART-MICROPROGRAM <CS address> <Interval> | |||
* START-MICROPROGRAM <CS address> | |||
* STOP-MICROPROGRAM | |||
The control store is loaded and examined 128 bits at a time, as eight 16-bit fields. | |||
Memory examination: | |||
* DUMP-LOCAL-MEMORY <Address> <Wordsize /halfword/> | |||
* LOOK-AT-LOCAL-MEMORY <Address> | |||
* LOOK-AT-MEMORY <Address> | |||
* TEST-MEMORY <From address> <To address> | |||
Local memory is the module's own memory; LOOK-AT-MEMORY reaches MFbus main memory. | |||
Processor control and status: | |||
* CHECK-ALIVE | |||
* READ-ACCP-STATUS | |||
* READ-ECO-LEVELS | |||
* RESET-CPU | |||
* SET-CLOCK-SPEED <Clock speed (Slow,Normal,Fast)> | |||
* SET-INTERRUPT-MASK <Interrupt mask> | |||
* SHOW-REGISTERS | |||
Data buffers: | |||
* LOAD-AOB16 <Data (16)> | |||
* LOAD-AOB32 <Data (32)> | |||
* LOAD-MODE-REGISTER <Upper byte> <Lower byte> | |||
* READ-AIB16 | |||
* READ-AIB32 | |||
* TEST-BUFFERS <ASR/AOB> | |||
OctoBus: | |||
* RECEIVE-MULTIBYTE-OCTOBUS | |||
* RECEIVE-OCTOBUS | |||
* SEND-KICK-OCTOBUS <DESTINATION><Kick value (process)> | |||
* SEND-MULTIBYTE-OCTOBUS <Destination><Subprocess><Message> | |||
* SEND-OCTOBUS <Data (16)> | |||
* SET-KICK-TIMEOUT <Kick timeout (ms)> | |||
* TRACE-COMMUNICATION-DATA <Trace Octobus communication to consol? (y/n)> | |||
SEND-OCTOBUS writes one raw 16-bit OctoBus frame. The multibyte commands take a subprocess number, which is the CMD number of the OctoBus protocol and has the range 0 to 15. | |||
Selftests: | |||
* RUN-LONG-SELFTEST <Loop selftest? (y/n)> | |||
* RUN-SHORT-SELFTEST <Loop selftest? (y/n)> | |||
* TEST-BUSLOOP <Test-pattern> | |||
Console and general: | |||
* HELP <Command> | |||
* LOOP-ON-NEXT-COMMAND <Supress output text ?> | |||
* MAIN-FORMAT <BASE (HEX,OCT,DEC)> | |||
* SET-SERIAL-LINE <Enable ND100-communication via serial line ? (y/n)> | |||
* VALUE <Convert number> | |||
MAIN-FORMAT selects the number base used for input and output. SET-SERIAL-LINE switches the serial line between console use and communication with the ND-100. | |||
==Chipset== | ==Chipset== | ||
The following components are known to be fitted to PCB 5616. | The following components are known to be fitted to PCB 5616. | ||
===Processor=== | ===Processor=== | ||
* '''MC68000''' or '''TS68000''' — access processor CPU | * '''MC68000''' or '''TS68000''' — access processor CPU | ||
===OctoBus controller=== | ===OctoBus controller=== | ||
* '''NDOBCON''' — Norsk Data OctoBus controller | * '''NDOBCON''' — Norsk Data OctoBus controller | ||
===Programmable logic=== | ===Programmable logic=== | ||
* '''50600B''' — PAL | * '''50600B''' — PAL | ||
* '''50700A''' — PAL | * '''50700A''' — PAL | ||
| Line 105: | Line 205: | ||
===Microprogram storage=== | ===Microprogram storage=== | ||
* '''51200L''' — microprogram EPROM | * '''51200L''' — microprogram EPROM | ||
* '''51201L''' — microprogram EPROM | * '''51201L''' — microprogram EPROM | ||
===Static RAM=== | ===Static RAM=== | ||
* '''TC5565''' — SRAM, four devices | * '''TC5565''' — SRAM, four devices | ||
| Line 118: | Line 216: | ||
===LEDs=== | ===LEDs=== | ||
None. | None. | ||
===Switches=== | ===Switches=== | ||
None. | None. | ||
===Straps=== | ===Straps=== | ||
The module has five straps associated with the ECO level. | The module has five straps associated with the ECO level. | ||
* Strap 0: ECO level | * Strap 0: ECO level | ||
* Strap 1: ECO level | * Strap 1: ECO level | ||
| Line 134: | Line 228: | ||
* Strap 3: ECO level | * Strap 3: ECO level | ||
* Strap 4: ECO level | * Strap 4: ECO level | ||
The strap setting can be read from the console with the READ-ECO-LEVELS command. | |||
==Connectors== | ==Connectors== | ||
The module has intra-module connectors used for connection to: | The module has intra-module connectors used for connection to: | ||
* The Samson motherboard | * The Samson motherboard | ||
* Other baby modules | * Other baby modules | ||
| Line 147: | Line 241: | ||
==I/O devices on the card== | ==I/O devices on the card== | ||
The module does not provide a conventional external I/O device interface directly on the PCB. | The module does not provide a conventional external I/O device interface directly on the PCB. | ||
| Line 153: | Line 246: | ||
==PCB versions== | ==PCB versions== | ||
The known PCB version is: | The known PCB version is: | ||
* A2 | * A2 | ||
==ECO== | ==ECO== | ||
ECO, or Engineering Change Order, identifies a hardware revision or modification. | ECO, or Engineering Change Order, identifies a hardware revision or modification. | ||
The documented board (http://sintran.com/hardware/nd-5000/nd-324716.html) has: | The documented board (http://sintran.com/hardware/nd-5000/nd-324716.html) has: | ||
* PCB version: A2 | * PCB version: A2 | ||
* ECO level: 8 | * ECO level: 8 | ||
| Line 169: | Line 259: | ||
==Reference== | ==Reference== | ||
* Sintran Data, ''Norsk Data hardware - ND-5000'', section 1.4.1.8, “324716 - PCB 5616 - Samson ACCess Processor (ACCP) module” | * Sintran Data, ''Norsk Data hardware - ND-5000'', section 1.4.1.8, “324716 - PCB 5616 - Samson ACCess Processor (ACCP) module” | ||
* Norsk Data, ''ND-05.017.01 EN ND-5000 Hardware Maintenance'', chapter 3 “Octobus Communication” and chapter 8 | |||
* Norsk Data, ''ND-14.001.1 EN DOMINO Standard Hardware Description'', chapter 4 “The OCTObus Adapter (OBA)” | |||
[[Category:ND-5000 hardware]] | [[Category:ND-5000 hardware]] | ||
Latest revision as of 12:51, 29 July 2026
5616 is the Samson ACCess Processor module, abbreviated ACCP. Its product number is ND-324716.
Introduction
The 5616 is a baby module used in Samson-based ND-5000 systems.
The module contains:
- The access processor
- The ND OctoBus controller
A terminal can be connected to the ACCP console through a plug board at the rear of the card crate. The connection uses RS-232.
From the ACCP command prompt, commands can be entered for:
- Debugging
- Status inspection
- Hardware testing
- System diagnostics
The ND-324716 is a newer version of the earlier ND-324702 ACCP module.
Characteristics
- PCB number: 5616
- Product number: ND-324716
- Module name: Samson ACCess Processor
- Abbreviation: ACCP
- Module type: Baby module
- PCB version: A2
- ECO level: 8
- Release date: 5 January 1990
- PCB size: 197 × 96 mm
- Processor: MC68000 or TS68000
- SRAM capacity: 32 KB
- EPROM capacity: 128 KB
- LEDs: None
- Switches: None
Functions
The module provides two principal functions:
- Access processor functionality
- Control of the ND OctoBus
The access processor provides a console from which service and diagnostic commands can be entered.
The console can be used for:
- Debugging
- Reading system status
- Running tests
- Performing diagnostic operations
The module is an OCTOBUS node. It both sends and receives OctoBus messages, and its firmware implements the kick, ident and multibyte message classes of the OctoBus protocol.
The ACCP is not a DOMINO I/O controller. A DOMINO controller (DIOC) is built around an MC68020 with an MFP peripheral chip and reaches shared memory through the MFbus Adapter. The ACCP uses an MC68000, drives its console through a separate DUART, and reaches MFbus memory through the ND-5000 datapath rather than through an MFA.
System use
The module was used in several ND-5000 system configurations.
- ND-320001, used in ND-5200 systems: first layer of baby modules
- ND-320002, used in ND-5400, ND-5500 and ND-5700 systems: second layer of baby modules
- ND-320003, used in ND-5800 and ND-5900 systems: second layer of baby modules
Memory
Static RAM
The module contains four SRAM devices.
- Device type: TC5565
- Number of devices: 4
- Capacity per device: 8192 × 8 bits
- Total SRAM capacity: 32 KB
EPROM
The module contains two EPROM devices.
- Number of devices: 2
- Capacity per device: 65536 × 8 bits
- Total EPROM capacity: 128 KB
- EPROM 51200L
- EPROM 51201L
The two EPROMs hold the firmware executed by the access processor itself. That firmware also contains an embedded microprogram image used by the module's selftests, so the devices are sometimes described as microprogram EPROMs.
A dumped set of these EPROMs carries the revision letter J (51200J and 51201J) rather than L, which indicates that more than one revision of the firmware exists.
Address map
The following addresses are used by the module's firmware. They were established by analysis of the EPROM contents.
Memory
- 000000–01FFFF: EPROM, 128 KB
- 110000–117FFF: static RAM, 32 KB
ND-5000 datapath interface
- 220000: command port
- 440000: data register, low half
- 550000: data register, high half
- 660000, 660001: status and handshake
The module has no directly memory-mapped window onto MFbus main memory. Accesses to MFbus memory are performed by driving the ND-5000 datapath through the command port, with the 32-bit MFbus address written to the two data registers.
OctoBus
- 770004: OctoBus transmit data
- 770007: OctoBus transmit status
- 880000: OctoBus receive data
- 900001: module configuration; the low five bits give the module's own OctoBus station number
Console
- DD0000 and upwards, odd byte addresses: DUART registers, addressed as DD0000 + 2N + 1
The firmware drives an SCN2681-compatible dual UART for the console. The corresponding device is not listed in the component list below, so the physical part fitted to the PCB should be confirmed against a board.
Firmware
The firmware is written in PLANC, using the Norsk Data PLANC compiler for the MC68000.
The module has no operating system and no kernel. The firmware is a single command loop with interrupt handlers, and does not use the PIOC-OS kernel found on some other Norsk Data controllers.
Startup
At power-up the module:
- Runs its selftests, printing single-letter progress markers to the console
- Tests MPM memory
- Searches for an MFbus controller by sending an OctoBus multibyte message to stations 2 through 7 in turn
- Determines the CPU model and reports it as a line beginning "CPU model: ND-"
- Presents the console prompt "ACCP:"
If no station answers the search, the module reports "MFbus controller not found at Octobus stations 2-7." and the CPU model falls through to ND-5800.
Console commands
The firmware implements 43 console commands. Command names may be abbreviated. HELP lists them.
Microprogram and control store:
- CONTINUE-MICROPROGRAM
- LOAD-CONTROL-DECODER
- LOAD-CONTROL-STORE <CS address> <127-112> <111-096> <095-080> <079-064> <063-048> <047-032> <031-016> <015-000>
- LOAD-MAR <CS address>
- LOAD-MIR <127-112> <111-096> <095-080> <079-064> <063-048> <047-032> <031-016> <015-000>
- LOOK-AT-CONTROL-CACHE <CC address>
- LOOK-AT-CONTROL-STORE <CS address>
- READ-MIR
- RESTART-MICROPROGRAM <CS address> <Interval>
- START-MICROPROGRAM <CS address>
- STOP-MICROPROGRAM
The control store is loaded and examined 128 bits at a time, as eight 16-bit fields.
Memory examination:
- DUMP-LOCAL-MEMORY <Address> <Wordsize /halfword/>
- LOOK-AT-LOCAL-MEMORY <Address>
- LOOK-AT-MEMORY <Address>
- TEST-MEMORY <From address> <To address>
Local memory is the module's own memory; LOOK-AT-MEMORY reaches MFbus main memory.
Processor control and status:
- CHECK-ALIVE
- READ-ACCP-STATUS
- READ-ECO-LEVELS
- RESET-CPU
- SET-CLOCK-SPEED <Clock speed (Slow,Normal,Fast)>
- SET-INTERRUPT-MASK <Interrupt mask>
- SHOW-REGISTERS
Data buffers:
- LOAD-AOB16
- LOAD-AOB32
- LOAD-MODE-REGISTER <Upper byte> <Lower byte>
- READ-AIB16
- READ-AIB32
- TEST-BUFFERS <ASR/AOB>
OctoBus:
- RECEIVE-MULTIBYTE-OCTOBUS
- RECEIVE-OCTOBUS
- SEND-KICK-OCTOBUS <DESTINATION><Kick value (process)>
- SEND-MULTIBYTE-OCTOBUS <Destination><Subprocess><Message>
- SEND-OCTOBUS
- SET-KICK-TIMEOUT <Kick timeout (ms)>
- TRACE-COMMUNICATION-DATA <Trace Octobus communication to consol? (y/n)>
SEND-OCTOBUS writes one raw 16-bit OctoBus frame. The multibyte commands take a subprocess number, which is the CMD number of the OctoBus protocol and has the range 0 to 15.
Selftests:
- RUN-LONG-SELFTEST <Loop selftest? (y/n)>
- RUN-SHORT-SELFTEST <Loop selftest? (y/n)>
- TEST-BUSLOOP <Test-pattern>
Console and general:
- HELP <Command>
- LOOP-ON-NEXT-COMMAND <Supress output text ?>
- MAIN-FORMAT <BASE (HEX,OCT,DEC)>
- SET-SERIAL-LINE <Enable ND100-communication via serial line ? (y/n)>
- VALUE <Convert number>
MAIN-FORMAT selects the number base used for input and output. SET-SERIAL-LINE switches the serial line between console use and communication with the ND-100.
Chipset
The following components are known to be fitted to PCB 5616.
Processor
- MC68000 or TS68000 — access processor CPU
OctoBus controller
- NDOBCON — Norsk Data OctoBus controller
Programmable logic
- 50600B — PAL
- 50700A — PAL
- 50800A — PAL
- 50900A — PAL
- 51000B — PAL
- 51100C — PAL
Microprogram storage
- 51200L — microprogram EPROM
- 51201L — microprogram EPROM
Static RAM
- TC5565 — SRAM, four devices
Each TC5565 device has a capacity of 8192 × 8 bits. The four devices provide a total SRAM capacity of 32 KB.
Switches and indicators
LEDs
None.
Switches
None.
Straps
The module has five straps associated with the ECO level.
- Strap 0: ECO level
- Strap 1: ECO level
- Strap 2: ECO level
- Strap 3: ECO level
- Strap 4: ECO level
The strap setting can be read from the console with the READ-ECO-LEVELS command.
Connectors
The module has intra-module connectors used for connection to:
- The Samson motherboard
- Other baby modules
The ACCP console connection is provided through a plug board at the rear of the card crate.
A terminal can be connected to the ACCP console using an RS-232 cable.
I/O devices on the card
The module does not provide a conventional external I/O device interface directly on the PCB.
Console access is provided through the separate ACCP console plug board at the rear of the card crate.
PCB versions
The known PCB version is:
- A2
ECO
ECO, or Engineering Change Order, identifies a hardware revision or modification.
The documented board (http://sintran.com/hardware/nd-5000/nd-324716.html) has:
- PCB version: A2
- ECO level: 8
The ECO level is represented by straps 0 through 4.
Reference
- Sintran Data, Norsk Data hardware - ND-5000, section 1.4.1.8, “324716 - PCB 5616 - Samson ACCess Processor (ACCP) module”
- Norsk Data, ND-05.017.01 EN ND-5000 Hardware Maintenance, chapter 3 “Octobus Communication” and chapter 8
- Norsk Data, ND-14.001.1 EN DOMINO Standard Hardware Description, chapter 4 “The OCTObus Adapter (OBA)”