<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.ndwiki.org/index.php?action=history&amp;feed=atom&amp;title=ND-500-II</id>
	<title>ND-500-II - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.ndwiki.org/index.php?action=history&amp;feed=atom&amp;title=ND-500-II"/>
	<link rel="alternate" type="text/html" href="https://www.ndwiki.org/index.php?title=ND-500-II&amp;action=history"/>
	<updated>2026-07-27T15:19:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.ndwiki.org/index.php?title=ND-500-II&amp;diff=7865&amp;oldid=prev</id>
		<title>RHansen: layout fix</title>
		<link rel="alternate" type="text/html" href="https://www.ndwiki.org/index.php?title=ND-500-II&amp;diff=7865&amp;oldid=prev"/>
		<updated>2026-07-22T11:53:00Z</updated>

		<summary type="html">&lt;p&gt;layout fix&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:53, 22 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Infobox&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/ins&gt;Model&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|label1=&lt;/del&gt;Model&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/ins&gt;ND-500-II (ND-500/II)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|data1=&lt;/del&gt;ND-500-II (ND-500/II)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/ins&gt;Type&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|label2=&lt;/del&gt;Type&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/ins&gt;32-bit Coprocessor&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|data2=&lt;/del&gt;32-bit Coprocessor&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/ins&gt;Introduced&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|label3=&lt;/del&gt;Introduced&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/ins&gt;1987 (estimated, with OCTOBUS support)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|data3=&lt;/del&gt;1987 (estimated, with OCTOBUS support)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/ins&gt;Processor Architecture&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|label4=&lt;/del&gt;Processor Architecture&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/ins&gt;ND-500 with OCTOBUS line driver&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|data4=&lt;/del&gt;ND-500 with OCTOBUS line driver&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/ins&gt;Key Feature&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|label5=&lt;/del&gt;Key Feature&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/ins&gt;NUCLEUS message passing support&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|data5=&lt;/del&gt;NUCLEUS message passing support&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ND-500-II&amp;#039;&amp;#039;&amp;#039; (also written as &amp;#039;&amp;#039;&amp;#039;ND-500/II&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;ND-500 Model II&amp;#039;&amp;#039;&amp;#039;) was a model variant of the [[ND-500]] 32-bit coprocessor that added [[OCTOBUS]] connectivity for integration with [[DOMINO]] I/O controller systems and [[NUCLEUS]] message-passing runtime.&amp;lt;ref name=&amp;quot;domino-nucleus&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ND-500-II&amp;#039;&amp;#039;&amp;#039; (also written as &amp;#039;&amp;#039;&amp;#039;ND-500/II&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;ND-500 Model II&amp;#039;&amp;#039;&amp;#039;) was a model variant of the [[ND-500]] 32-bit coprocessor that added [[OCTOBUS]] connectivity for integration with [[DOMINO]] I/O controller systems and [[NUCLEUS]] message-passing runtime.&amp;lt;ref name=&amp;quot;domino-nucleus&amp;quot;/&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RHansen</name></author>
	</entry>
	<entry>
		<id>https://www.ndwiki.org/index.php?title=ND-500-II&amp;diff=7863&amp;oldid=prev</id>
		<title>RHansen: Created a reference page for the ND-500-II machine</title>
		<link rel="alternate" type="text/html" href="https://www.ndwiki.org/index.php?title=ND-500-II&amp;diff=7863&amp;oldid=prev"/>
		<updated>2026-07-22T11:32:16Z</updated>

		<summary type="html">&lt;p&gt;Created a reference page for the ND-500-II machine&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox&lt;br /&gt;
|label1=Model&lt;br /&gt;
|data1=ND-500-II (ND-500/II)&lt;br /&gt;
|label2=Type&lt;br /&gt;
|data2=32-bit Coprocessor&lt;br /&gt;
|label3=Introduced&lt;br /&gt;
|data3=1987 (estimated, with OCTOBUS support)&lt;br /&gt;
|label4=Processor Architecture&lt;br /&gt;
|data4=ND-500 with OCTOBUS line driver&lt;br /&gt;
|label5=Key Feature&lt;br /&gt;
|data5=NUCLEUS message passing support&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ND-500-II&amp;#039;&amp;#039;&amp;#039; (also written as &amp;#039;&amp;#039;&amp;#039;ND-500/II&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;ND-500 Model II&amp;#039;&amp;#039;&amp;#039;) was a model variant of the [[ND-500]] 32-bit coprocessor that added [[OCTOBUS]] connectivity for integration with [[DOMINO]] I/O controller systems and [[NUCLEUS]] message-passing runtime.&amp;lt;ref name=&amp;quot;domino-nucleus&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ND-500-II was essentially a classic ND-500 processor that could attach to an OCTOBUS fabric via a special line driver card. This allowed existing ND-500 systems to participate in modern DOMINO and NUCLEUS environments without complete hardware replacement. However, the ND-500-II itself used the traditional [[3022]] + [[5015]] parallel interface (not native OCTOBUS) for CPU communication.&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
&lt;br /&gt;
* [[#Overview|Overview]]&lt;br /&gt;
* [[#Architecture|Architecture]]&lt;br /&gt;
* [[#Key_Distinction|Key Distinction: CPU vs. System Interface]]&lt;br /&gt;
* [[#NUCLEUS_Runtime|NUCLEUS Runtime]]&lt;br /&gt;
* [[#DOMINO_Support|DOMINO Support]]&lt;br /&gt;
* [[#Hardware_Requirements|Hardware Requirements]]&lt;br /&gt;
* [[#Microcode_Versions|Microcode Versions]]&lt;br /&gt;
* [[#Historical_Context|Historical Context]]&lt;br /&gt;
* [[#Comparison|Comparison Table]]&lt;br /&gt;
* [[#References|References]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The ND-500-II represented Norsk Data&amp;#039;s bridge technology between classic ND-500 systems and modern ND-5000 DOMINO architectures.&amp;lt;ref name=&amp;quot;maintenance&amp;quot;/&amp;gt; It maintained backward compatibility with existing ND-500 code while enabling participation in NUCLEUS inter-processor messaging and DOMINO I/O environments.&lt;br /&gt;
&lt;br /&gt;
Key characteristics:&lt;br /&gt;
* Retains classic ND-500 CPU architecture ([[3022]]/[[5015]] parallel interface)&lt;br /&gt;
* Adds OCTOBUS connectivity via external line driver card&lt;br /&gt;
* Supports [[NUCLEUS]] message passing runtime&lt;br /&gt;
* Communicates with ND-100 via traditional parallel interface&lt;br /&gt;
* Uses [[MPM-5]] (MultiPort Memory) for shared data structures&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
=== CPU Interface ===&lt;br /&gt;
&lt;br /&gt;
The ND-500-II CPU interface is &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; OCTOBUS-based. It uses the classic parallel interface:&lt;br /&gt;
&lt;br /&gt;
; [[3022]] Interface (ND-100 side)&lt;br /&gt;
: Port and handshake signals&lt;br /&gt;
&lt;br /&gt;
; [[5015]] Interface (ND-500 side)&lt;br /&gt;
: Main data and control signals&lt;br /&gt;
: Registers: RMAR, RSTA, RCON, MCLR, TERM, TAG&lt;br /&gt;
&lt;br /&gt;
This is identical to pure ND-500 systems. The CPU has no native OCTOBUS support.&lt;br /&gt;
&lt;br /&gt;
=== OCTOBUS Attachment ===&lt;br /&gt;
&lt;br /&gt;
OCTOBUS connectivity for ND-500-II is provided through a dedicated line driver card installed in the ND-100 slot:&amp;lt;ref name=&amp;quot;domino-hw&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; PCB 3109 (First generation)&lt;br /&gt;
: Part number: &amp;#039;&amp;#039;&amp;#039;324118&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: OBCON gate array revision &amp;#039;&amp;#039;&amp;#039;36600B&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Chip marking: &amp;quot;ND-O2CON TAC 8450&amp;quot; (64-pin package)&lt;br /&gt;
: Microcode support: ND-500/2 with revision G or later&lt;br /&gt;
&lt;br /&gt;
; PCB 3096 (Second generation)&lt;br /&gt;
: Part number: &amp;#039;&amp;#039;&amp;#039;324133&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: OBCON gate array revision &amp;#039;&amp;#039;&amp;#039;36600D&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
: Chip marking: &amp;quot;NDOBCON XAE8740&amp;quot; (smaller square ASIC package)&lt;br /&gt;
: Microcode support: ND-500/2 with revision D or later&lt;br /&gt;
: Status: Newer ASIC design replacing 3109&lt;br /&gt;
&lt;br /&gt;
The line driver contains:&lt;br /&gt;
* OCTOBUS controller gate array (OBCON)&lt;br /&gt;
* Differential line transceivers for OCTOBUS signals (XREQ, XCLK, XDAT, XRFO)&lt;br /&gt;
* MPM-5 interface logic&lt;br /&gt;
&lt;br /&gt;
=== Shared Memory ===&lt;br /&gt;
&lt;br /&gt;
ND-500-II uses [[MPM-5]] (MultiPort Memory 5) for:&lt;br /&gt;
* NUCLEUS kernel data structures&lt;br /&gt;
* Port descriptors and message queues&lt;br /&gt;
* Synchronization primitives (semaphores)&lt;br /&gt;
* Buffer area for messages&lt;br /&gt;
&lt;br /&gt;
The MPM-5 system provides:&lt;br /&gt;
* 64KW (128KB) per bank addressing (16-bit registers)&lt;br /&gt;
* 256 banks total = 16MW (32MB) maximum&lt;br /&gt;
* Multiport access from ND-100, ND-500-II, and controllers&lt;br /&gt;
&lt;br /&gt;
== Key Distinction: CPU Interface vs. System Interface ==&lt;br /&gt;
&lt;br /&gt;
This is the most commonly misunderstood aspect of ND-500-II documentation:&lt;br /&gt;
&lt;br /&gt;
; CPU-to-ND-100 Communication&lt;br /&gt;
: Classic parallel [[3022]]/[[5015]] interface (unchanged from ND-500)&lt;br /&gt;
: Speed limited by parallel handshake protocol&lt;br /&gt;
&lt;br /&gt;
; ND-500-II in DOMINO System&lt;br /&gt;
: Attaches to OCTOBUS fabric via line driver card (PCB 3109/3096)&lt;br /&gt;
: Participates in inter-processor messaging via shared MPM memory&lt;br /&gt;
: Coordinated via OCTOBUS kicks (short control messages)&lt;br /&gt;
&lt;br /&gt;
The ND-500-II &amp;#039;&amp;#039;&amp;#039;CPU itself does not understand OCTOBUS&amp;#039;&amp;#039;&amp;#039;. Instead:&lt;br /&gt;
&lt;br /&gt;
# ND-100 I/O processor interfaces to OCTOBUS natively&lt;br /&gt;
# NUCLEUS runtime executes in ND-100 (at PIL 12)&lt;br /&gt;
# Shared MPM memory carries message structures&lt;br /&gt;
# OCTOBUS kicks signal events (process wake-ups, completion notifications)&lt;br /&gt;
&lt;br /&gt;
This delegation through the ND-100 bridges the classic [[3022]]/[[5015]] interface to modern OCTOBUS messaging without changing the ND-500-II CPU.&lt;br /&gt;
&lt;br /&gt;
== NUCLEUS Runtime ==&lt;br /&gt;
&lt;br /&gt;
=== Supported Calls ===&lt;br /&gt;
&lt;br /&gt;
NUCLEUS library functions available on ND-500-II:&lt;br /&gt;
&lt;br /&gt;
; Port Management&lt;br /&gt;
: nkCrePort, nkCreName, nkOpenPort, nkOpenReturnPort, nkDelName&lt;br /&gt;
&lt;br /&gt;
; Message Operations&lt;br /&gt;
: nkCreMessage, nkMove, nkSend, nkReceive, nkClose&lt;br /&gt;
&lt;br /&gt;
; Information Queries&lt;br /&gt;
: nkGetInfo, nkVersion&lt;br /&gt;
&lt;br /&gt;
=== Performance Characteristics ===&lt;br /&gt;
&lt;br /&gt;
Unlike [[ND-5000]] (which microcode-optimizes NUCLEUS for speed), ND-500-II NUCLEUS relies on:&lt;br /&gt;
&lt;br /&gt;
; Time-Critical Functions&lt;br /&gt;
: nkMove, nkSend, nkReceive, nkGetInfo&lt;br /&gt;
: Executed in ND-100 (via SINTRAN monitor call dispatch)&lt;br /&gt;
: NOT microcoded in ND-500-II CPU&lt;br /&gt;
&lt;br /&gt;
; Message Infrastructure&lt;br /&gt;
: Stored in shared MPM memory&lt;br /&gt;
: Coordinated via OCTOBUS kicks&lt;br /&gt;
: Managed by NUCLEUS kernel (ND-100 resident)&lt;br /&gt;
&lt;br /&gt;
Result: ND-500-II NUCLEUS is slower than ND-5000 NUCLEUS but remains suitable for I/O-intensive and soft-real-time workloads where latency is measured in milliseconds, not microseconds.&lt;br /&gt;
&lt;br /&gt;
=== Microcode Execution ===&lt;br /&gt;
&lt;br /&gt;
For ND-5000:&lt;br /&gt;
: Time-critical NUCLEUS calls are microcoded in the CPU for sub-microsecond latency&lt;br /&gt;
&lt;br /&gt;
For ND-500-II:&lt;br /&gt;
: All NUCLEUS calls dispatch through ND-100 via SINTRAN monitor call interface&lt;br /&gt;
: Adds overhead of context switch + ND-100 execution&lt;br /&gt;
: Adequate for DOMINO boot/control but not for high-frequency inter-CPU messaging&lt;br /&gt;
&lt;br /&gt;
== DOMINO Support ==&lt;br /&gt;
&lt;br /&gt;
; NUCLEUS Support&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;YES&amp;#039;&amp;#039;&amp;#039; — ND-500-II with OCTOBUS line driver can run NUCLEUS applications&amp;lt;ref name=&amp;quot;release-notes&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; DOMINO I/O Controller Support&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;NO&amp;#039;&amp;#039;&amp;#039; — DOMINO I/O controllers are exclusive to [[ND-5000]]&lt;br /&gt;
: Requires ND-5000 CPU with MFbus and native OCTOBUS support&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
&lt;br /&gt;
ND-500-II with NUCLEUS enables:&lt;br /&gt;
&lt;br /&gt;
* Inter-processor synchronization between ND-500-II and ND-100&lt;br /&gt;
* NUCLEUS-based application communication&lt;br /&gt;
* Soft real-time message passing&lt;br /&gt;
* Control coordination in DOMINO environments (via ND-5000 CPUs)&lt;br /&gt;
&lt;br /&gt;
ND-500-II cannot:&lt;br /&gt;
&lt;br /&gt;
* Host DOMINO I/O controllers&lt;br /&gt;
* Provide microsecond-level NUCLEUS latency&lt;br /&gt;
* Boot DOMINO controller firmware&lt;br /&gt;
&lt;br /&gt;
== Hardware Requirements ==&lt;br /&gt;
&lt;br /&gt;
To enable OCTOBUS messaging on ND-500-II:&lt;br /&gt;
&lt;br /&gt;
; CPU Subsystem&lt;br /&gt;
: * ND-500-II processor (32-bit CPU)&lt;br /&gt;
: * ND-100 (or ND-110) I/O processor&lt;br /&gt;
&lt;br /&gt;
; OCTOBUS Connectivity&lt;br /&gt;
: * &amp;#039;&amp;#039;&amp;#039;PCB 3109&amp;#039;&amp;#039;&amp;#039; (part 324118, revision &amp;#039;&amp;#039;&amp;#039;G&amp;#039;&amp;#039;&amp;#039; or later), &amp;#039;&amp;#039;or&amp;#039;&amp;#039;&lt;br /&gt;
: * &amp;#039;&amp;#039;&amp;#039;PCB 3096&amp;#039;&amp;#039;&amp;#039; (part 324133, revision &amp;#039;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;#039; or later)&lt;br /&gt;
&lt;br /&gt;
; Memory&lt;br /&gt;
: * [[MPM-5]] (MultiPort Memory 5) with minimum capacity&lt;br /&gt;
: * Typically 64KW to 256KW per bank for NUCLEUS messaging&lt;br /&gt;
&lt;br /&gt;
; Microcode&lt;br /&gt;
: * ND-500/2 microcode version supporting NUCLEUS (see below)&amp;lt;ref name=&amp;quot;loader&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Microcode Versions ==&lt;br /&gt;
&lt;br /&gt;
Different ND-500 models required different microcode for NUCLEUS support:&lt;br /&gt;
&lt;br /&gt;
; ND-530&lt;br /&gt;
: Microcode &amp;#039;&amp;#039;&amp;#039;15312&amp;#039;&amp;#039;&amp;#039; (or 15313)&lt;br /&gt;
&lt;br /&gt;
; ND-550 / ND-560 / ND-570&lt;br /&gt;
: Microcode &amp;#039;&amp;#039;&amp;#039;15212&amp;#039;&amp;#039;&amp;#039; (or 15213)&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;These are the ND-500-II compatible variants&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
; ND-580&lt;br /&gt;
: Microcode &amp;#039;&amp;#039;&amp;#039;15112&amp;#039;&amp;#039;&amp;#039; (or 15113)&lt;br /&gt;
&lt;br /&gt;
The microcode version enables NUCLEUS fast-call execution in the ND-100 CPU at PIL 12.&lt;br /&gt;
&lt;br /&gt;
== Historical Context ==&lt;br /&gt;
&lt;br /&gt;
=== Bridge Technology (1987–1992) ===&lt;br /&gt;
&lt;br /&gt;
ND-500-II represented Norsk Data&amp;#039;s strategy for transitioning customers from:&lt;br /&gt;
&lt;br /&gt;
; Legacy Systems (1981–1987)&lt;br /&gt;
: Pure ND-500 coprocessors&lt;br /&gt;
: Classic [[3022]]/[[5015]] parallel interface&lt;br /&gt;
: No inter-CPU messaging or synchronization&lt;br /&gt;
: Limited to process-level I/O coordination&lt;br /&gt;
&lt;br /&gt;
; Modern Systems (1988–1995)&lt;br /&gt;
: ND-5000 with DOMINO I/O&lt;br /&gt;
: Native OCTOBUS architecture&lt;br /&gt;
: NUCLEUS inter-processor messaging&lt;br /&gt;
: Microsecond-latency real-time I/O&lt;br /&gt;
&lt;br /&gt;
ND-500-II allowed organizations to:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Preserve existing investment&amp;#039;&amp;#039;&amp;#039; in ND-500 systems&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Add NUCLEUS messaging&amp;#039;&amp;#039;&amp;#039; without CPU replacement&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Integrate with DOMINO&amp;#039;&amp;#039;&amp;#039; environments (via shared NUCLEUS)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Migrate gradually&amp;#039;&amp;#039;&amp;#039; from parallel to serial interfaces&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Avoid forklift upgrades&amp;#039;&amp;#039;&amp;#039; to pure ND-5000&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
; 1981&lt;br /&gt;
: ND-500 introduced ([[3022]]/[[5015]] parallel interface only)&lt;br /&gt;
&lt;br /&gt;
; 1987&lt;br /&gt;
: ND-500-II upgrade path defined with OCTOBUS line driver&lt;br /&gt;
: NUCLEUS runtime released for ND-5000 and ND-500-II&lt;br /&gt;
&lt;br /&gt;
; 1988&lt;br /&gt;
: ND-5000 native OCTOBUS and DOMINO released&lt;br /&gt;
: ND-500-II becomes &amp;quot;bridge&amp;quot; to DOMINO&lt;br /&gt;
&lt;br /&gt;
; 1992–1995&lt;br /&gt;
: ND-500-II systems gradually phased out as ND-5000 became primary platform&lt;br /&gt;
&lt;br /&gt;
== Comparison ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Characteristic&lt;br /&gt;
! ND-500&lt;br /&gt;
! ND-500-II&lt;br /&gt;
! ND-5000&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;CPU Architecture&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| 32-bit ND-500&lt;br /&gt;
| 32-bit ND-500&lt;br /&gt;
| 32-bit ND-5000 (pipelined)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;CPU Interface to ND-100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [[3022]]/[[5015]] parallel&lt;br /&gt;
| [[3022]]/[[5015]] parallel&lt;br /&gt;
| Octobus native&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Octobus Capable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| No&lt;br /&gt;
| Yes (via PCB 3109/3096)&lt;br /&gt;
| Yes (native)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;NUCLEUS Support&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;DOMINO Support&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| No&lt;br /&gt;
| No&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Shared Memory Type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [[MPM-5]] only&lt;br /&gt;
| [[MPM-5]] + Octobus&lt;br /&gt;
| [[MFbus]] + Octobus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;NUCLEUS Fast Calls&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| N/A&lt;br /&gt;
| ND-100 execution (PIL 12)&lt;br /&gt;
| Microcoded in CPU&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Message Latency&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| N/A&lt;br /&gt;
| Milliseconds&lt;br /&gt;
| Microseconds&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Primary Use Case&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Standalone ND-500&lt;br /&gt;
| NUCLEUS messaging + soft real-time I/O&lt;br /&gt;
| DOMINO I/O + high-speed messaging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[ND-500]] — The base architecture&lt;br /&gt;
* [[ND-5000]] — The modern successor&lt;br /&gt;
* [[NUCLEUS]] — Message-passing runtime&lt;br /&gt;
* [[DOMINO]] — I/O controller system&lt;br /&gt;
* [[OCTOBUS]] — The serial signaling bus&lt;br /&gt;
* [[MPM-5]] — Multiport memory system&lt;br /&gt;
&lt;br /&gt;
== Product Numbers ==&lt;br /&gt;
&lt;br /&gt;
* Model designation: &amp;#039;&amp;#039;&amp;#039;ND-500/II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Octobus Line Driver: &amp;#039;&amp;#039;&amp;#039;324118&amp;#039;&amp;#039;&amp;#039; (PCB 3109, earlier) or &amp;#039;&amp;#039;&amp;#039;324133&amp;#039;&amp;#039;&amp;#039; (PCB 3096, later)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;domino-nucleus&amp;quot;&amp;gt;Norsk Data Document &amp;#039;&amp;#039;&amp;#039;ND–820026.1&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;DOMINO and NUCLEUS Software Guide&amp;#039;&amp;#039;, preface and NUCLEUS Overview sections&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;maintenance&amp;quot;&amp;gt;Norsk Data Document &amp;#039;&amp;#039;&amp;#039;ND–05.017.01 EN&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;ND-5000 HARDWARE MAINTENANCE&amp;#039;&amp;#039;, chapter 3 (CPU type selection: &amp;quot;ND-500/I (0), ND-5000 (S) or ND-500/IIO (G)&amp;quot;)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;domino-hw&amp;quot;&amp;gt;Norsk Data Document &amp;#039;&amp;#039;&amp;#039;ND–14001-1-EN&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;DOMINO Standard Hardware Description&amp;#039;&amp;#039;, page 123 (&amp;quot;The cable is used to connect MFbus banks, ND-100 and ND-500 model II to the OCTObus&amp;quot;)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;release-notes&amp;quot;&amp;gt;Norsk Data Document &amp;#039;&amp;#039;&amp;#039;ND–860230-8-EN&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;SINTRAN III - Release Information - N-version&amp;#039;&amp;#039;, NUCLEUS requirements section&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;loader&amp;quot;&amp;gt;Norsk Data Document &amp;#039;&amp;#039;&amp;#039;ND–60.136.04A&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;ND-500 Loader/Monitor&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [[Documentation list-Mixed_hardware_software#ND-20.026_DOMINO_and_NUCLEUS_Software_Guide|ND-820026.1 DOMINO and NUCLEUS Software Guide]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ND-500 Series]]&lt;br /&gt;
[[Category:Octobus Systems]]&lt;br /&gt;
[[Category:NUCLEUS]]&lt;br /&gt;
[[Category:32-bit Computers]]&lt;/div&gt;</summary>
		<author><name>RHansen</name></author>
	</entry>
</feed>