https://gunkies.org/w/index.php?title=UNIBUS_Experimental_Ethernet_interface&feed=atom&action=history
UNIBUS Experimental Ethernet interface - Revision history
2024-03-28T09:13:05Z
Revision history for this page on the wiki
MediaWiki 1.30.0
https://gunkies.org/w/index.php?title=UNIBUS_Experimental_Ethernet_interface&diff=32798&oldid=prev
Pugs: Add byte-swapping behavior of board
2024-01-13T01:18:02Z
<p>Add byte-swapping behavior of board</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 01:18, 13 January 2024</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l6" >Line 6:</td>
<td colspan="2" class="diff-lineno">Line 6:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>One minor oddity (by today's standards) was that the back-off after a [[Carrier-Sense Multiple Access with Collision Detection|collision]] was implemented by [[software]], in the device driver. A third [[interrupt vector]] was used when a collision occurred, not the normal output vector.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>One minor oddity (by today's standards) was that the back-off after a [[Carrier-Sense Multiple Access with Collision Detection|collision]] was implemented by [[software]], in the device driver. A third [[interrupt vector]] was used when a collision occurred, not the normal output vector.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">The board implemented the obvious data path behavior of copying 16-bit [[UNIBUS]] words to/from the on-the-wire packets.  But because [[UNIBUS]] systems were [[little-endian]] and network byte order was [[big-endian]], this resulted in byte swapping compatibility problems, which had to be addressed in software, with substantial overhead. The 4.x[[BSD]] driver for this board used the incorrect behavior by default, but had a compile-time option for sites requiring interoperability.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Device registers==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Device registers==</div></td></tr>
</table>
Pugs
https://gunkies.org/w/index.php?title=UNIBUS_Experimental_Ethernet_interface&diff=32748&oldid=prev
Jnc: typo
2024-01-11T15:18:38Z
<p>typo</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 15:18, 11 January 2024</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l5" >Line 5:</td>
<td colspan="2" class="diff-lineno">Line 5:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The [[network address]] (8 [[bit]]s on the Experimental Ethernet) was set by a [[Dual Inline Package|DIP]] switch on the card. Also, the [[hardware]] did not fill in the source address in the packet [[header]], the [[device driver]] had to do that.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>The [[network address]] (8 [[bit]]s on the Experimental Ethernet) was set by a [[Dual Inline Package|DIP]] switch on the card. Also, the [[hardware]] did not fill in the source address in the packet [[header]], the [[device driver]] had to do that.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div>One minor oddity (by today's standards) was <del class="diffchange diffchange-inline">the </del>the back-off after a [[Carrier-Sense Multiple Access with Collision Detection|collision]] was implemented by [[software]], in the device driver. A third [[interrupt vector]] was used when a collision occurred, not the normal output vector.</div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div>One minor oddity (by today's standards) was <ins class="diffchange diffchange-inline">that </ins>the back-off after a [[Carrier-Sense Multiple Access with Collision Detection|collision]] was implemented by [[software]], in the device driver. A third [[interrupt vector]] was used when a collision occurred, not the normal output vector.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Device registers==</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>==Device registers==</div></td></tr>
</table>
Jnc
https://gunkies.org/w/index.php?title=UNIBUS_Experimental_Ethernet_interface&diff=27408&oldid=prev
Jnc: New cat
2022-08-17T19:06:40Z
<p>New cat</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 19:06, 17 August 2022</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l88" >Line 88:</td>
<td colspan="2" class="diff-lineno">Line 88:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category: UNIBUS Network Interfaces]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category: UNIBUS Network Interfaces]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category: Ethernet Interfaces]]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category: Xerox]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category: Xerox]]</div></td></tr>
</table>
Jnc
https://gunkies.org/w/index.php?title=UNIBUS_Experimental_Ethernet_interface&diff=25817&oldid=prev
Jnc: /* External links */ manual at xeroxalto.computerhistory.org
2022-05-04T20:51:48Z
<p><span dir="auto"><span class="autocomment">External links: </span> manual at xeroxalto.computerhistory.org</span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 20:51, 4 May 2022</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l82" >Line 82:</td>
<td colspan="2" class="diff-lineno">Line 82:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>| colspan=8 | Unused || colspan=8 | NA7 <---> NA0</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>| colspan=8 | Unused || colspan=8 | NA7 <---> NA0</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{16bitoctal-bitout}}</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>{{16bitoctal-bitout}}</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">==External links==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">* [https://xeroxalto.computerhistory.org/_cd8_/pup/.pdp-ethernet-hardware.press!1.pdf PDP EtherNet Network Connection]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category: UNIBUS Network Interfaces]]</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>[[Category: UNIBUS Network Interfaces]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category: Xerox]]</ins></div></td></tr>
<!-- diff cache key mediawiki-wiki_:diff:version:1.11a:oldid:19118:newid:25817 -->
</table>
Jnc
https://gunkies.org/w/index.php?title=UNIBUS_Experimental_Ethernet_interface&diff=19118&oldid=prev
Jnc: Fairly complete
2018-12-06T15:17:23Z
<p>Fairly complete</p>
<p><b>New page</b></p><div>A '''UNIBUS Experimental Ethernet interface''' was produced in small numbers by [[Xerox PARC]], to allow [[PDP-11]]'s to be connected to [[Experimental Ethernet]]s. It was a [[full-duplex]] device, which used [[Direct Memory Access|DMA]] to transfer [[packet]]s directly to and from [[main memory]].<br />
<br />
The [[network interface]] was a [[DEC card form factor|hex]] [[printed circuit board|board]] which plugged into an [[UNIBUS]] [[Small Peripheral Controller|SPC]] slot; a [[flat cable]] led from a [[Berg connector]] on the card to a [[bulkhead connecter]], from where a standard Ethernet cable led to the [[transceiver]].<br />
<br />
The [[network address]] (8 [[bit]]s on the Experimental Ethernet) was set by a [[Dual Inline Package|DIP]] switch on the card. Also, the [[hardware]] did not fill in the source address in the packet [[header]], the [[device driver]] had to do that.<br />
<br />
One minor oddity (by today's standards) was the the back-off after a [[Carrier-Sense Multiple Access with Collision Detection|collision]] was implemented by [[software]], in the device driver. A third [[interrupt vector]] was used when a collision occurred, not the normal output vector.<br />
<br />
==Device registers==<br />
<br />
{| border=1<br />
! Register !! Address<br />
|-<br />
|Output Word Count Register || 760020<br />
|-<br />
|Output Bus Address Register || 760022<br />
|-<br />
|Output Control and Status Register || 760024<br />
|-<br />
|Output Start Delay Register || 760026<br />
|-<br />
|Input Word Count Register || 760030<br />
|-<br />
|Input Bus Address Register || 760032<br />
|-<br />
|Input Control and Status Register || 760034<br />
|-<br />
|Interface Network Address Register || 760036<br />
|}<br />
<br />
===760020: Output Word Count Register===<br />
{{16bit-header}}<br />
| colspan=6 | Unused || colspan=10 | WC9 <---> WC0<br />
{{16bitoctal-bitout}}<br />
<br />
The [[two's complement]] of the number of words to transfer.<br />
<br />
===760022: Output Bus Address Register===<br />
{{16bit-header}}<br />
| colspan=15 | BA15 <---> BA01 || Unused<br />
{{16bitoctal-bitout}}<br />
<br />
16-bit main memory addresses restricted [[buffer]]s to the low 64KB of memory.<br />
<br />
===760024: Output Control and Status Register===<br />
{{16bit-header}}<br />
| Error || colspan=7 | Unused || Done || Int Enb || colspan=5 | Unused || Enable<br />
{{16bit-bitout}}<br />
<br />
Error was set by either a collision, or data was not available from the bus in time.<br />
<br />
===760026: Output Start Delay Register===<br />
{{16bit-header}}<br />
| colspan=8 | Unused || colspan=8 | Delay<br />
{{16bit-bitout}}<br />
<br />
===760030: Input Word Count Register===<br />
{{16bit-header}}<br />
| colspan=6 | Unused || colspan=10 | WC9 <---> WC0<br />
{{16bitoctal-bitout}}<br />
<br />
Although the documentation avers that this is a two's complement number, a device driver [[source code]] indicates that in fact it was a one's complement counter.<br />
<br />
The count needed to include the [[cyclic redundancy check|CRC]] word in the packet (otherwise on a maximum-sized packet an error would be indicated), but this was not actually transferred to memory.<br />
<br />
===760032: Input Bus Address Register===<br />
{{16bit-header}}<br />
| colspan=15 | BA15 <---> BA01 || Unused<br />
{{16bitoctal-bitout}}<br />
<br />
===760034: Input Control and Status Register===<br />
{{16bit-header}}<br />
| Error || colspan=7 | Unused || Done || Int Enb || colspan=4 | Unused || Prom || Enable<br />
{{16bit-bitout}}<br />
<br />
Error was set on a CRC error, buffer overflow, or when the bus did not take a word in time.<br />
<br />
The 'promiscuous' bit caused all packets to be received, not just ones addressed to this interface.<br />
<br />
===760036: Interface Network Address Register===<br />
{{16bit-header}}<br />
| colspan=8 | Unused || colspan=8 | NA7 <---> NA0<br />
{{16bitoctal-bitout}}<br />
<br />
[[Category: UNIBUS Network Interfaces]]</div>
Jnc