(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of ""

STANFORD ARTIFICIAL INTELLIGENCE LABORATORY August 29, 1967 

OPERATING NOTE NO. 29 



PRELIMINARY DESCRIPTION OF THE DISPLAY PROCESSOR 
by William Weiher 



ABSTRACT: This is a preliminary description of the 

display processor. It describes the programming 
of the display processor and its interface to 
the PDP-6. It does not describe the use of the 
display from the time-sharing system. 



This project is sponsored in part by the Advanced Research Project 
Agency of the Office of the Secretary of Defense and a grant from 
the National Science Foundation. 



STANFORD ARTIFICIAL INTELLIGENCE LABORATORY August 29, 1967 

OPERATING NOTE NO. 29 



PRELIMINARY DESCRIPTION OF THE DISPLAY PROCESSOR 
by William Weiher 



ABSTRACT; This is a preliminary description of the 

display processor. It describes the programming 
of the display processor and its interface to 
the PDP-6. It does not describe the use of the 
display from the time-sharing system. 



This project is sponsored in part by the Advanced Research Project 
Agency of the Office of the Secretary of Defense and a grant from 
the National Science Foundation. 



J 

PRELIMINARY DESCRIPTION OF THE DISPLAY PROCESSOR 
by William Weiher 

1. DISPLAY INSTRUCTIONS 
Test, Set and Skip 



78 15 16 25 ... 51 52 54 55 


Reset 


Set 


Test 




I 


101 






A skip condition is generated if any of the eight, flags is on 
and the corresponding bit in the TEST field is on. If the exclusive 
or if the skip condition and bit 31 is true, the next instruction is 
skipped. The flags are then set or reset according to the set and 
reset field. If both a set and reset bit are on, the corresponding 
^\ flag i s complemented. The flags are as follows : 
BITS FLAG 
Q.,8,,16 Control bit. This bit may be set, reset, and tested but 

has no other meaning to the processor. 

1,9,17 Light pen flag. Bit is set if the light pen is seen. 
2,10,18 Edge overflow flag. Bit is set if the beam is ever 

positioned off screen by any means. 
3,11,, 19 Wrap-around flag. Bit is set if overflow occurs in 

incremental vector mode. 

4.12.20 Not running mask. If this bit is on, the processor will 

interrupt if a halt is executed. 

5.13.21 Light pen mask. If this bit is on, the processor will 

interrupt if the light pen is seen. 



J 



6,1^,22 Edge overflow mask. If this bit is on, the processor will 
interrupt if the edge overflow flag comes on. 

7 ,,15,23 Wrap-around mask. If this bit is on, the processor will 
interrupt if wrap-around occurs. 

Long Vector Word 
10 11 



X 


Y 


BRT 


SIZE 




M 


T 


011 






The long vector word draws one vector with mode, type, and 
brightness as specified by the M, T, and BRT fields respectively. 
A in the BRT field indicates no change in brightness. 1 is the 
dimmest intensity and 7 the brightest. The brightness affects all 
vectors and characters until reset by another long vector word. 

Mode- indicates relative mode and 1 absolute. In absolute 
mode, the new position is given by the X and Y components taken 
relative to the center of the screen. In relative mode the components 
are added to the current position to give the new position. 

Type- 

0- visible 

1-end point 

2- invisible 

3-undefined--currently end point 

A visible vector is drawn from the current position to the new 
position; the invisible vector moves the beam to the new position 
without displaying; the end point vector moves the beam to the new 
position and then displays a point. 



J 



The size fields sets the character size. The selected size is 
used for all characters until reset by another long vector word. The 
sizes are: 






no change 




1 


smallest 


128 


2 




96 


3 




6k 


4 




k8 


5 




32 


6 




2k 


7 


largest 


16 


Short 


Vector Word 





Characters/line 



Lines/screen 

6k 
k8 
32 

2k 

16 

12 

8 



o 



67 13 lk 15 16 



22 23 29 30 



31 32 



fl 


*l 


T l 


^2 


AY 2 


T 2 


001 






The short vector word always draws two vectors in relative mode. 
The type of each vector is specified by the corresponding T field. 
The high order bits of the /SC and AZ fields are spread left to give 
11-bit quantities. 



Character Word 



67 13 Ik 20 21 27 28 


Chi 


Ch2 


ChJ 


Chk 


Ch5 



...35 

1 



The characters are displayed in order from left to right with 
automatic spacing. All characters are displayed as printed on the 
line printer with the following exceptions: 



CODE 

Oil 

013 

Oik 

177 



PRINTS AS 
ignored 

J 
+ 

\ 



Jump or Halt 



35 



A 




H 


i 
000 






If H = 1, control is transferred to location A. If H = 0, the 
processor stops with the MA pointing to the location following the 
HALT. 

Jump to Subroutine 



17 32 3^ 35 


A 




010 






The following information is written into A and A+l: 

17 18 22 31 32 



MA 


CPC 




1 


000 






A: 

CPC; The contents of the CPC buffer register. This register 
is loaded whenever the processor discovers an interrupt condition 
while processing a character word or short vector word. It is set 
to the number of the character being displayed (0-4) or the number 
of the vector of the short vector word (O-l). It is reset by a 
CONO ij-30, with the clear flags bit. 

10 11 21 22 21+ 25 27 28 35 



X Y 


BRT 


SIZE 


FLAGS 



The following are the flag bits: 

bit 28-control bit 
bit 29-light pen flag 
bit 30- edge overflow flag 
bit 31-wrap around flag 



bit 32-not running mask (will be wrap around mask) 

bit 33-light pen mask 

bit 3^-eclge overflow mask 

bit 35-wrap around mask (will eventually be l) 

Control is then transfered to A+2. 

Note that A is in the form of a jump instruction. This permits 
subroutine exit to be done by jumping to A. 



Restore 



1? 30 31 32 3^1 35 


B 




P 


F 


110 






The contents of location B are assumed to be in the format of the 
word stored in location A+l by a Jump to subroutine. If bit 30 is a 1, 
the X and Y position registers and the size and brightness registers are 
reloaded from the corresponding fields of this word; if bit 31 is a 1, 
the flags are restored. 

Select 



11 12 23 32 314. 35 


Set 


Reset 




100 






If any of bits 0-11 are 1, the corresponding consoles are selected. 
If any of bits 12-23 are 1, the consoles are deselected. If both the 
select and deselect bits are on the state of selection of that console 
it will be complemented. 

2. PDP-6 CONTROL OF DISPLAY PROCESSOR 



" 



CONO ij-30, 
18 21 22 25 29 30 31 32 33 35 


Reset 


Set 




F 


Cont 


Stop 


S 


PI 



J 



The not running (l8,22), edge overflow (19,23), wrap-around (20,24), 
and light pen (21,25) mask bits are set and/ or reset as indicated by 
the bits of the set and reset fields. If both set and reset bits are 
on, the mask bits are complemented. If bit 29 is a 1 the edge overflow 
datao ink s wrap-around, the light pen flags are cleared. The CPC buffer 
register is also reset. If bit 32 is 0, the PI channel is set from 
bits 33-35. 

If the STOP DP bit (31) is 1, the processor will halt at the end 
of the current instruction. (This will cause an interrupt if the not 
running mask is set. ) 

If the CONT DP bit is on (30), the processor will begin executing 
instructions at the location indicated by its MA. 



CONI h 30, X 
11 



Consoles 



18 2k 



Flags 



PI 



A 1 bit in the console field (O-ll) indicates that the corresponding 
console is selected. The flags in bits 18-24 are: 

18-Not running. Processor is halted 

19-Edge overflow flag 

20-Wrap-around flag 

21-Light pen flag 

22-Control bit 

23-DATAO INK. PDP-6 gave a DATAO to the processor while it 

was running. 
24-Interrupt condition. The processor has requested an interrupt. 

DATAO 430, X 



Any 



DP 



Command 






' 



The Halt mask is turned off, the indicated instruction executed, 
and the processor halted. This may set the DATAO INK flag. 

3. KEYBOARD SCANNER 
CONO 



29 



32 33 



\ 


A 


s 






If Bit 32 is a 1, the PI channel will be loaded from bits 33-35. 
If bit 29 is a 1, the scanner flags will be cleared allowing it to 
continue scanning. 

CONI 




Console 




I 




PI 



If bit 30 is a 1, the keyboard is waiting for interrupt service. 
"Console" is the number of the console at which the scanner is looking. 
The scanner is not released by execution of the CONI. A DATAT must be 
executed before the scanner will continue after a key has been typed. 



DATAI 



10 



11 12 17 



X; 



Console 




CTL2 


CTL1 


Shift 


DATA 





After the DATAI the scanner will resume scanning.