Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ FORTRAN graphics on the PDP15Simple complete FORTRAN program using FOGFOG subroutinesFOG errorsInput routines for use with graphics programsLoading and overlaying FOG □ Appendices □ A: Summary of FOG subroutinesB: VT15 instruction setC: 7-bit ASCII character codesD: Display orders generated by FOG routinesE: The structure of FOG display filesF: The VTA handler
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureICL 1906A manualsFOG
ACLLiteratureICL 1906A manualsFOG
ACL ACD C&A INF CCD CISD Archives
Further reading

FORTRAN graphics on the PDP15
Simple complete FORTRAN program using FOG
FOG subroutines
FOG errors
Input routines for use with graphics programs
Loading and overlaying FOG
Appendices
A: Summary of FOG subroutines
B: VT15 instruction set
C: 7-bit ASCII character codes
D: Display orders generated by FOG routines
E: The structure of FOG display files
F: The VTA handler

FOG Manual

L O Ford

November 1975

1. FOG - FORTRAN GRAPHICS ON THE PDP15

1.1 Introduction

FOG is a package of FORTRAN-callable subroutines which enable one to display and manipulate information on the VT15/VT04 refresh display. The VT04 display console contains the Cathode Ray Tube (CRT) display unit. The VT15, the graphic processor contains the computer-to-display interface logic and the logic required to operate the display console. A block diagram of the basic VT15 graphic display system is shown in figure 1.

VT15 GRAPHIC PROCESSOR DATA AND CONTROL BUS ANALOG BUS PDP15 I/O BUS PDP15 COMPUTER VT04 DISPLAY CONSOLE

Figure 1: Basic VT15 Graphic Display System, Block Diagram

An image is traced out on the VT04 screen by a fast-moving beam of electrons. The image drawn on the phosphor fades within a fraction of a second and because of this fast decay pictures can be altered on the screen at a rate which appears almost continuous to the viewer. To maintain a steady image however, the picture must be repeatedly regenerated (or refreshed by the VT15 controller).

The VT15 controller (or processor) can be regarded as a computer, which obeys instructions (display-orders) constituting a display program, which resides in the core store of the PDP15. Images appear on the VT04 screen as a result of the orders being obeyed. The VT15 controller operates in parallel with the basic processor of the PDP15, with a cycle time of 750 nanoseconds. It has the following set of hardware features:

  1. a hardware character generator with a local read-only memory which permits any one of 68 ASCII characters to be displayed.
  2. a basic vector generator which draws vectors in any one of eight basic directions.
  3. an arbitrary-direction vector generator which permits vectors to be drawn in any direction.
  4. a dot can be drawn at any specified position.

In addition, one also has control over the following hardware picture parameters:

  1. intensity: any one of eight intensity levels may be used.
  2. blinking: at approximately 4 blinks/second.
  3. dashing: one can specify 3 different types of hardware dashing at ratios of 6 on, 2 off; 3 on, 1 off; 1 on, 1 off.
  4. light pen sensitivity: lines may be made sensitive to the lightpen.
  5. rotation: any vector (including characters) can be rotated by 90 degrees counterclockwise.
  6. repeatability (or scaling): any vector may be repeated up to 15 times.

The VT15 processor steps from one display order to the next, using its own display program counter, analogous to the PDP15 CPU program counter. A display-jump order (DJMP) causes the VT15 to start obeying a fresh sequence of display orders, analogous to a jump order (JMP) in the PDP15 instruction set. A display subroutine call (a subpicture-call or subpicture reference (DJMS) causes a new sequence of display orders to be obeyed and the return address is saved (at the start of the new sequence). 13 bit addresses are used (direct addressing); this is different to the JMS instruction of the PDP15 where either 12 or 13 bits can be used. The VT15 can execute an indirect display-jump or subpicture-call (* denotes indirect, thus DJMP*); the address in the display-order is used to locate a new address which locates the new sequence of display-orders. This provides a means for returning from a subpicture (making use of the return address stored by the DJMS).

Since the VT04 is a refresh display, the display orders must be obeyed repeatedly to maintain an image. This can be achieved without the intervention of the CPU once it has created the display-orders and started the VT15 processor with an I/O instruction. The CPU can continue in parallel. It is necessary though for the user program to remain in core, and not to be deleted (by STOP, or ↑C for instance).

The FOG package organises display recycling for the programmer, but it is useful to be acquainted with how display programs are controlled and sequenced.

1.2 The VT04 Display Unit

The VT04 display has a screen whose dimensions are 9½ inches by 11 inches with the horizontal dimension (X-axis) being 11 inches in length. This screen is divided into two basic display (or image) areas. The major image area is divided into a square single-quadrant coordinate system whose origin is located at the lower left-hand corner of the visible portion of the screen. This square (9½ inches) has 1024 addressable coordinates in both the X and Y axis, making 107.4 coordinates per inch. The minor image area (or off-set area) is divided into a rectangular coordinate system whose effective display area is 9½ inches by about 1½ inches with the longer dimension on the vertical (Y-axis) plane, giving 1024 addressable coordinates along the Y axis and approximately 161 addressable coordinates along the X axis (see Figure 2). (The 161 coordinates is the figure quoted by Digital Equipment Company but it appears possible to use up to 250.)

(0,1023) (1023,1023) (0,0) (1023,0) MAJOR IMAGE AREA MAJOR IMAGE AREA EDGE (0,1023) (161,1023) approx (0,0) (161,0) approx MINOR IMAGE AREA

Figure 2: Visible Image Areas Display CRT

Display orders containing coordinate pairs that specify points are expressed as absolute in terms of their displacement from the origin. However, coordinate pairs specifying vectors are expressed as relative in terms of their displacement from the last beam position.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site