			 

        (  )  
  GDP256   CALCOMP.     
,    ( )    -
 .       
      (LF, CR, SPACE,  .).
   ";".   ";"  
     "LF".   
    .    , 
  ,   ,   -
  , ..:
[/][ ][. ][E[/][]].
    -   
(16 .  , 16 ).   
 -32767  +32767.     
    0.0001   
.
 GDP256   
(-,   )     <>.

	:
	(+)	- GDP256, -,    
	(*)	-       GDP256  

	:

	<...>	-  
	[...]	-  
	"X"	- 
	<>	-     0-255
	<> -  .    
		   .  
		 (1.0)    90 
		   ( <>*PI/2 ).


FX <>
FY <>

	   X,Y.   
	     WI

WI ["S"] <X MIN> <Y MIN> <X MAX> <Y MAX> [<>]

	     . 
	 '    .   
	     ()
	  ,    :
	1) .        
	    .
	2) .   ()  
	        .
	3)  .   X (  
	           )
	      Y   SX/SY = FX/FY

    S (+) -  S -    

    <> (+) -   .

	    (0,0) (*).

MA <>

	    
	 3-0: (   )
	0001	R - 
	0010	G - 
	0100	B - 
	1000	W - 
	 7-6: ( )
	00	
	01	 1
	10	 2
	11	 3

MD <>

	  
	 7-6:
	00 -  
	01 -  
	10 -  

PP <X> <Y>

	   

PL < X> < Y>  FLAG

	  .
	FLAG = "0" -  
	FLAG = "1" -    

SM
	      MA, MD
GM
	      MA, MD.
	  SM/GM = 4 (*).   
	  ,   -
	  (*).

RS
	  .    
	,     .

RE
	  .    
	.

CL
	        (MA).
	CL        (*).
	CL     MA 15 MD 0   (*).

DI <>

	    
	 3-0: (    )
	0001	R
	0010	G
	0100	B
	1000	W
	 7-4: (    ) (*)
	0001	R
	0010	G
	0100	B
	1000	W

TL <X MIN> <Y MIN> <X MAX> <Y MAX> <> ["R"]["S"]  TEXT

	    .
    R	-    R,    ()
	  <XMIN>,<YMIN>,<XMAX>,<YMAX>.
    TEXT -  ,     :
		1) <  >""""
		2) "''"
	     
	 ().    
	:
		041-176 -  ASCII-7
		300-376 -     
    S	-    .
    <> -   .
	 ,     
	8. (  )   6*<- >,
	    , -
	  ,   , 
	    ,  
	 WI (   ,  1.).
	         -
	  .

TX <> <> ["R"]["S"] TEXT

	    .
    R (+) -    ,  .
    S (+) -    
    TEXT  - . TL
	 ,     
	8.*<> (  .)    6.*<>
	*< >,     
	  ,    
	,    ,  -
	.     .

CR <> " "  CE

	    <>.
	      (  ) .
	       (*).  CR,
	    ( CE), 
	  CR      
	  (*).      ,
	   .

SY <> <>

	     .
	     .

PC <>

	    <>.
	      ,   -
	.  :
	        ,
	       SY,
	   ,  
	.      -
	     (*).
	     (*):
	1)     FX, FY, WI.
	         
	        WI.  
	          -
	    ,     -
	      (    WI).
	2)     SM, GM, MA, MD, DI, RS, RE, QQ.
	          ,
	           (..
	   ,     
	      ).
	3)     SY, PC.
	   ,   SY,   
	     .  PC  
	        , 
	        
	    SY      -
	         .
	    SY    
	    <>=1, <>=0.
	     .     -
	      ,   PC .

PS
	 .  (*).

PE
	 .	 (*).
PT <?>
	 (*).

SP <>

	 (*).

CP <X> <Y>

	 (*).

TF <X> <Y>

	  .  (*).

QQ
	   .
	      (*).
	    , ..:
	-   
	-  SM/GM 
	- FX=FY=1,     
	-   = (0,0)
	-  SY: <>=1, <>=0
	-    0
	- MA=15, MD=0, DI=255,   .

  (+)


RC <X0> <Y0> <X1> <Y1>

	 .

RI <. >	<>  <. >  <>

	   .
	<. >, <. > -    X*PI/2.
	<> -   (   ).
	<> -   .
	:
	1)     20 32-

		RI 0  0.125  4	20

	2)       100
	    64-

		RI 0  .0625  2	100

LO <>

	/  .
	   (LOCNTX)  . :

	14 (40000) -    XB.
	 8 (  400) -     -7 2 ( -
		        ).
	 7 (  200) -  2-  ,   RE
	 6 (  100) -  CL    MD, ..
		      MD 0  ,  MD128 - .
	 
	 4-1 ( 36) -    2- . 
		     0000   0111.   0 LOCNTX 
		            -
		       0001   ,   -
		      0010.
	 0 (	1) -       2- -
		         .

	   LO ,   
	,    .
	:
	1)   400 LOCNTX :	LO 256
	2)   201 :	LO 129
	3)   201 :		LO -129

	 1.	 

        :

	GDPROM		-  
	GDP1, GDP2	-  
	GDPXXX		-   

   ,    ,
    (  ),
  '  .
    .    -
 :

	DEFALT	NAME	VALUE	;  
	.BR	TO		;   
	.ASSUME A1 CND A2	;   
	DSECT			;
	DS	NAME		;  

	.MEM	NAME,SIZE=1,UNIT=WORD	;  (-
					;) 

:

	GETCHR	-        R0
	BAKCHR	-    R0    ( 
		  )

,     ,  
     ( 
GDP1):
	MACBOT	-     
	MEMTOP	-   ( 1-  )

( '       512. ), 
  $INIT   -    -
    GDPENT (   , 
     ).
  GDPROM    (), 
 -        /
  (XOFF/XON).  DC2 (CTRL/R),  
 ,        
 (. QQ).
 :
(   FLAG = 0, .. ,  1 - )

./
----------------
MM$FLO	FLAG		;  
MEMLOW	120000		;.  
MEMSIZ	4000		;   
DL$CS0	176560		;CSR  
DL$V0	360		;  
DL$CS1	0		;   
DL$V1	370		;  
PDP$11	FLAG		; PDP-11
RO$VM2	FLAG		;. 2,    . 
CR$ODT	FLAG		; ODT  
CR$CSR	DL$CS0		; TT    ODT
IOBFSZ	128.		;    

 GDP1, GDP2    CALCOMP, 
         
 - .  :

PLOT$R	FLAG		;  
SGSLOT	4.		;  SM/GM
MINFRC	104.		;   , 
STACK	40.		;  , 


   .
        
    .MEM   NAME, SIZE=1, UNIT=WORD
:
	.MEM LOCATE		;1    LOCATE
	.MEM HBUFF,5		;5    HBUFF
	.MEM BB1,,BYTE		;1  BB1 ()
	.MEM BB2,,BYTE		;1  BB2 ()

      ..   
 :
	MACNTX -    MA (.  )
	MDCNTX -    MD (.  )
	LOCNTX - ,   LO ()


    :

(:
	(D) -   
	(P) -   )

1. : ( RTS PC,    )

$INIT -   (  )

$HDPL -    (X0,Y0) --> (X1,Y1)

	R0 = X0 	;  
	R1 = Y0 	; (R0,R1)   (R2,R3) 
	R2 = X1 	;( ).
	R3 = Y1

	. $HDPL     . 4
	 MACNTX   .      
	-  .  MDCNTX   
	 (0 -  , 1 -  ).

$HCLR (D)  -  () 
$P2ON (D)  -     
$P2OFF (D) -     
$P2CLR (D) -   

$HDDI (D)  - / 

	R0 -   DI

$HDRC (D)  -  

	R0 = X MIN	;  
	R1 = Y MIN	; 
	R2 = X MAX	;( ).
	R3 = Y MAX

$HDPS (P)  -   PS.   
	     ( ,      ..)

$HDPE (P)  -   PE.     -
	       (    , 
	      (  )  ..).

$HDSP (P)  -   ( ).

	R0 -    SP


2.  

$CRASH -   ,  :
	 , ,  (   ).
	   : R0, R1, R4.
	    JMP	@R5

3.  20.-    $HMTBL,

 :

) 12.-      - 6 
        (1   , 1 
   ,    ;   ,  2-
    = 0):	A, B, C, D, E, F .
     ,    
     (    ) -
       .
     (X , Y )    -
    (X,Y)   :

	X  = X*A + Y*B + C
	Y  = X*D + Y*E + F

) 8-       
    - 4      :
	X MIN , Y MIN , X MAX , Y MAX .
    X MIN = 0, Y MIN = 0,   X MAX, Y MAX  
          .




  .

         (PREFIX - 
,     ), 
  '  .

MACRO/OBJ:GDP SRC:(PREFIX+GDPROM+GDP1+GDP2+GDPXXX)
LINK/MAP:GDP/BOTTOM:500  GDP,SRC:GDPSGN
RUN SRC:GDPCS  GDP	!   

    50 ()    
  .


	 2.	     
 (  PLOT$R = 1).

  (+)  (*)    CALCOMP 1038.


 CL, RS, RE, RC, DI  -  .

 PS     $HDPS

  PS (  PE  QQ)   
 $HDPS     (  ).(*)

 PE     $HDPE,   
   . (*)

 4    MA    .

 WI     .  "S" 
<> .     
'        
.

 FX, FY.       
       (0,0)  
     ,     (
    $HMTBL).    FX, FY
  ,       -
                 ,     -
     . (*)

 TF.  :

TF ["S"] <X> <Y> [<>]

	  .

    <X>,<Y> -      .
    S (+)   -   .
    <> (+) -     .

	        
	<X>,<Y>,      Y 
	  .



	 3.	  HW  	XB. (+)

     HW      -
.         
 WI (  PLOT$R !),      
       
WI ( )  FX, FY ()    
HW   .


 XB /     -
.   XB     40000 LOCNTX
(   LO 16384).     -
       
  ( 000  ,  DC2  -
   ).     -
    (    -
 PL)  ,     
       (4   -
 ).  ,       
    ,   
    .    
   ,  , :

	-    280. 
	-    3    034

   .

:

<N>,<BYT>,<X.>	- ,     .
<CHR>		-  .
<INB>		- ,     .
<INT>		- 2      (,  
		  )
<FLT>		- 4  .      -
		    (2   ,  2
		    ).
<R>,<S>,<RS>	- ,   
		  R - 200
		  S - 001
		  (   PL, TL, TX, TF, WI, HW)
<->		- ,  .

	 
- ! !  (  )
--------------------------------------------------------------
CE	2.	<0><0>
MA	2.	<1.><BYT>
MD	2.	<2.><BYT>
PP	10.	<3.><-><FLT X><FLT Y>
PS	2.	<4.><->
PC	2.	<5.><BYT>
PE	2.	<6.><->
PL	10.	<7.><S><FLT X><FLT Y>
PL	6.	<8.><S><INT X><INT Y>
PL	4.	<9.><S><INB X><INB Y>
PT	2.	<10.><->
RS	2.	<11.><->
RC	18.	<12.><-><FLT X0><FLT Y0><FLT X1><FLT Y1>
RE	2.	<13.><->
RI	18.	<14.><-><FLT .><FLT ><FLT .><FLT >
SM	2.	<15.><->
SP	6.	<16.><-><FLT>
SY	10.	<17.><-><FLT ><FLT >
CP	10.	<18.><-><FLT X><FLT Y>
CR	2.	<19.><BYT>
CL	2.	<20.><->
DI	2.	<22.><BYT>
FX	6.	<23.><-><FLT>
FY	6.	<24.><-><FLT>
GM	2.	<25.><->
HW	22.	<26.><S><FLT><FLT><FLT><FLT><FLT >
LO	6.	<27.><-><FLT>
QQ	2.	<28.><->
TF	14.	<29.><S><FLT X><FLT Y><FLT >
TL	N+23.	<30.><N><FLT><FLT><FLT><FLT><FLT .><RS><CHR>...<CHR>
		N -   
TX	N+11.	<31.><N><FLT .><FLT ><RS><CHR>...<CHR>
WI	22.	<32.><S><FLT X0><FLT Y0><FLT X1><FLT Y1><FLT .>
XB	2.	<33.><->
--------------------------------------------------------------
