Browse Prior Art Database

# Conversion of NGP-0 Coordinates to Device Specific Coordinates (RFC0401)

IP.com Disclosure Number: IPCOM000003576D
Original Publication Date: 1972-Oct-01
Included in the Prior Art Database: 2019-Feb-12
Document File: 2 page(s) / 3K

## Publishing Venue

Internet Society Requests For Comment (RFCs)

## Related People

J. Hansen: AUTHOR

## Related Documents

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 71% of the total text.

Network Working Group Jim Hansen Request for Comment #401 Center for Advanced NIC #11923 Computation Category: D.6 University of Illinois Updates: RFC #387 October 23, 1972 Obsoletes: None

Conversion of NGP-0 Coordinates to Device ----------------------------------------- Specific Coordinates --------------------

Conversion of NGP-0 coordinates to floating point PDP-10 coordinates was discussed in RFC #387. In general, however, it is undesirable to convert NGP coordinates to floating point coordinates because real devices require integer addressing. To this end, a means is described to convert NGP coordi- nates to integer coordinates in the range zero to M, where M is the maximum address of the device screen on a machine using 2’s complement arithmetic. It would not, however, be difficult to modify this algorithm to operate on machines using one’s complement or sign-magnitude arithmetic.

First consider the NGP coordinate format:

+--+-----------+ | | n | +--+-----------+ s ^ FRACTION i g n

Where the sign occupies the most significant bit of the coordinate followed by bits of numerical information (initial implementation of NGP requires N=15). Negative numbers are represented by 2’s complement. Conversion to device coordinates is accomplished by:

D = S * f + S

Where D =>integer device coordinate S =>scaling factor (typically M/2) f =>NGP fractional coordinate

Let us rewrite this as:

n n D = S*(2 *f)/2 +S

[Page 1]

Now factor S into two terms:

I S= Q * 2

Where Q is an odd integer and I is an integer.

When: I n n D = Q * 2 *(2 *f)/2 +S

I-n n = Q * 2 *(2 *f) +S n The factor (2 *f) is represented in 2’s complement form simply by extending the sign bit of f into the upper portion of the computer word, If Q = 1 (as it would be with many devices), it can be ignored. If Q >< 1, we may console ourselves that an integer multiply is faster on most machines than a floating point multiply. In fact, on a PDP-10, this multiply can usually be performed with no access to memory s... 