!
!
!  this program will be used for display purposes at a convention.
!
!

++INCLUDE DSK0:AMGSYM.BSI[7,6]  ! AMIGOS XCALL library

MAP1 BLACK,F,6,0
MAP1 WHITE,F,6,1
MAP1 BLUE,F,6,2
MAP1 MAGENTA,F,6,3
MAP1 RED,F,6,4
MAP1 YELLOW,F,6,5
MAP1 GREEN,F,6,6
MAP1 CYAN,F,6,7
MAP1 COLOR,F,6

MAP1 XLOCATION,F,6
MAP1 YLOCATION,F,6
MAP1 WORDS,S,25
MAP1 FONT,F,6

MAP1 GCB,X,80000
MAP1 STATUS,F,6
MAP1 POINT'ARRAY
 MAP2 POINT'COUNT,B,2          ! total count of points
 MAP2 POINTS(25)               ! max number of points
   MAP3 X'POINT,B,2            ! X coordinate
   MAP3 Y'POINT,B,2            ! Y coordinate

ON ERROR GOTO EXIT

PRINT TAB(-1,29);!TAB(-1,36);
XCALL AMGSBR, G'OPWK, GCB, "", STATUS,, ""      ! OPEN THE WORKSTATION
XCALL AMGSBR, G'CLRW, GCB, STATUS

!  draw a filled screen in white
COLOR=9
XCALL AMGSBR, G'SFAS, GCB, 2, STATUS
X'POINT(1) = 000
Y'POINT(1) = 00
X'POINT(2) = 32000
Y'POINT(2) = 000
X'POINT(3) = 32000
Y'POINT(3) = 24000
X'POINT(4) = 000
Y'POINT(4) = 24000
X'POINT(5) = 000
Y'POINT(5) = 00
CALL RECT
COLOR = MAGENTA

! left face
X'POINT(1) = 16000
Y'POINT(1) = 000
X'POINT(2) = 16000
Y'POINT(2) = 2000
X'POINT(3) = 6000
Y'POINT(3) = 4500
X'POINT(4) = 6000
Y'POINT(4) = 2500
X'POINT(5) = 16000
Y'POINT(5) = 000
CALL RECT

COLOR = 11
! right face
X'POINT(1) = 16000
Y'POINT(1) = 000
X'POINT(2) = 16000
Y'POINT(2) = 2000
X'POINT(3) = 26000
Y'POINT(3) = 4500
X'POINT(4) = 26000
Y'POINT(4) = 2500
X'POINT(5) = 16000
Y'POINT(5) = 000
CALL RECT

COLOR = MAGENTA
! surface
X'POINT(1) = 6000
Y'POINT(1) = 4500
X'POINT(2) = 16000
Y'POINT(2) = 2000
X'POINT(3) = 26000
Y'POINT(3) = 4500
X'POINT(4) = 16000
Y'POINT(4) = 7000
X'POINT(5) = 6000
Y'POINT(5) = 4500
CALL RECT

COLOR = 15
! left back
X'POINT(1) = 6000
Y'POINT(1) = 4500
X'POINT(2) = 16000
Y'POINT(2) = 7000
X'POINT(3) = 16000
Y'POINT(3) = 19500
X'POINT(4) = 6000
Y'POINT(4) = 17000
X'POINT(5) = 6000
Y'POINT(5) = 4500
CALL RECT

! right right back surface
X'POINT(1) = 27000
Y'POINT(1) = 17250
X'POINT(2) = 27000
Y'POINT(2) = 2750
X'POINT(3) = 26000
Y'POINT(3) = 2500
X'POINT(4) = 26000
Y'POINT(4) = 17000
X'POINT(5) = 27000
Y'POINT(5) = 17250
CALL RECT

COLOR=CYAN
! left left back surface
X'POINT(1) = 6000
Y'POINT(1) = 17000
X'POINT(2) = 6000
Y'POINT(2) = 2500
X'POINT(3) = 5000
Y'POINT(3) = 2750
X'POINT(4) = 5000
Y'POINT(4) = 17250
X'POINT(5) = 6000
Y'POINT(5) = 17000
CALL RECT

! right back
X'POINT(1) = 16000
Y'POINT(1) = 7000
X'POINT(2) = 26000
Y'POINT(2) = 4500
X'POINT(3) = 26000
Y'POINT(3) = 17000
X'POINT(4) = 16000
Y'POINT(4) = 19500
X'POINT(5) = 16000
Y'POINT(5) = 7000
CALL RECT

! right up back surface
X'POINT(1) = 16000
Y'POINT(1) = 19500
X'POINT(2) = 17000
Y'POINT(2) = 19750
X'POINT(3) = 27000
Y'POINT(3) = 17250
X'POINT(4) = 26000
Y'POINT(4) = 17000
X'POINT(5) = 16000
Y'POINT(5) = 19500
CALL RECT

! left up back surface
X'POINT(1) = 16000
Y'POINT(1) = 19500
X'POINT(2) = 15000
Y'POINT(2) = 19750
X'POINT(3) = 5000
Y'POINT(3) = 17250
X'POINT(4) = 6000
Y'POINT(4) = 17000
X'POINT(5) = 16000
Y'POINT(5) = 19500
CALL RECT

XSTART = 14000
YSTART = 500
POINT'COUNT=5
FOR I = 1 TO 4
       X'POINT(1) = XSTART
       Y'POINT(1) = YSTART
       X'POINT(2) = XSTART
       Y'POINT(2) = YSTART + 2000
       X'POINT(3) = XSTART + 10000
       Y'POINT(3) = YSTART + 4500
       X'POINT(4) = XSTART + 10000
       Y'POINT(4) = YSTART + 17000
       X'POINT(5) = XSTART + 11000
       Y'POINT(5) = YSTART + 17250
       CALL LINES
       XSTART = XSTART - 2000
       YSTART = YSTART + 500
NEXT I

XSTART = 18000
YSTART = 500
POINT'COUNT=5
FOR I = 1 TO 4
       X'POINT(1) = XSTART
       Y'POINT(1) = YSTART
       X'POINT(2) = XSTART
       Y'POINT(2) = YSTART + 2000
       X'POINT(3) = XSTART - 10000
       Y'POINT(3) = YSTART + 4500
       X'POINT(4) = XSTART - 10000
       Y'POINT(4) = YSTART + 17000
       X'POINT(5) = XSTART - 11000
       Y'POINT(5) = YSTART + 17250
       CALL LINES
       XSTART = XSTART + 2000
       YSTART = YSTART + 500
NEXT I

YSTART = 7000
POINT'COUNT=5
FOR I = 1 TO 4
       X'POINT(1) = 5000
       Y'POINT(1) = YSTART + 250
       X'POINT(2) = 6000
       Y'POINT(2) = YSTART
       X'POINT(3) = 16000
       Y'POINT(3) = YSTART + 2500
       X'POINT(4) = 26000
       Y'POINT(4) = YSTART
       X'POINT(5) = 27000
       Y'POINT(5) = YSTART + 250
       CALL LINES
       YSTART = YSTART + 2500
NEXT I

POINT'COUNT=2
X'POINT(1) = 26000
Y'POINT(1) = 4500
X'POINT(2) = 27000
Y'POINT(2) = 4750
CALL LINES

X'POINT(1) = 6000
Y'POINT(1) = 4500
X'POINT(2) = 5000
Y'POINT(2) = 4750
CALL LINES

XCALL AMGSBR, G'STXF, GCB, 13, STATUS
XCALL AMGSBR, G'SCHH, GCB, 1200, STATUS
XCALL AMGSBR, G'STXC, GCB, WHITE, STATUS
A$="UltraSoft"
XCALL AMGSBR, G'TX, GCB, 500, 21000, A$, STATUS
WORDS= " Product"
XCALL AMGSBR, G'TX, GCB, 5500, 21000, WORDS, STATUS
WORDS= " Comparison"
XCALL AMGSBR, G'TX, GCB, 600, 19500, WORDS, STATUS

XSTART = 3700
YSTART = 4350
XCALL AMGSBR, G'STXF, GCB, 11, STATUS
XCALL AMGSBR, G'SCHH, GCB, 600, STATUS
XCALL AMGSBR, G'STXC, GCB, WHITE, STATUS
A$="(x100)"
XCALL AMGSBR, G'TX, GCB, 3000, 3500, A$, STATUS
XCALL AMGSBR, G'TX, GCB, 27250, 3500, A$, STATUS
XCALL AMGSBR, G'SCHH, GCB, 900, STATUS
WORDS="1988"
XCALL AMGSBR, G'STXF, GCB, 13, STATUS
XCALL AMGSBR, G'SCHH, GCB, 900, STATUS
XCALL AMGSBR, G'TX, GCB, 6200, 3000, WORDS, STATUS
WORDS="1987"
XCALL AMGSBR, G'TX, GCB, 8250, 2500, WORDS, STATUS


FOR I = 0 TO 5
       A$ = "$" + STR(I * 10)
       XCALL AMGSBR, G'TX, GCB, XSTART, YSTART, A$, STATUS
       XCALL AMGSBR, G'TX, GCB, XSTART+23500, YSTART, A$, STATUS
       YSTART = YSTART + 2500
NEXT I

COLOR=WHITE
! legend
X'POINT(1) = 22000
Y'POINT(1) = 19500
X'POINT(2) = 22000
Y'POINT(2) = 23800
X'POINT(3) = 31000
Y'POINT(3) = 23800
X'POINT(4) = 31000
Y'POINT(4) = 19500
X'POINT(5) = 22000
Y'POINT(5) = 19500
CALL RECT

XCALL AMGSBR, G'STXF, GCB, 11, STATUS
XCALL AMGSBR, G'SCHH, GCB, 700, STATUS
XCALL AMGSBR, G'STXC, GCB, BLACK, STATUS
WORDS="TALKTO: "
XCALL AMGSBR, G'TX, GCB, 23000, 22750, WORDS, STATUS
WORDS="ULTRASAFE: "
XCALL AMGSBR, G'TX, GCB, 23000, 21750, WORDS, STATUS
WORDS="ALPHA PAINT: "
XCALL AMGSBR, G'TX, GCB, 23000, 20750, WORDS, STATUS
WORDS="APPT SCHED: "
XCALL AMGSBR, G'TX, GCB, 23000, 19750, WORDS, STATUS

XSTART = 28000
YSTART = 23500
FOR I = 1 TO 4
       X'POINT(1) = XSTART
       Y'POINT(1) = YSTART
       X'POINT(2) = XSTART + 2000
       Y'POINT(2) = YSTART
       X'POINT(3) = XSTART + 2000
       Y'POINT(3) = YSTART - 750
       X'POINT(4) = XSTART
       Y'POINT(4) = YSTART - 750
       X'POINT(5) = XSTART
       Y'POINT(5) = YSTART
       IF I = 1 COLOR = RED
       IF I = 2 COLOR = BLUE
       IF I = 3 COLOR = YELLOW
       IF I = 4 COLOR = GREEN
       CALL RECT
       YSTART = YSTART - 1000
NEXT I


COLOR=RED
! 1st red block
X'POINT(1) = 16000
Y'POINT(1) = 17000
X'POINT(2) = 18000
Y'POINT(2) = 17500
X'POINT(3) = 16000
Y'POINT(3) = 18000
X'POINT(4) = 14000
Y'POINT(4) = 17500
X'POINT(5) = 16000
Y'POINT(5) = 17000
CALL RECT

! 1st left red block
X'POINT(1) = 16000
Y'POINT(1) = 17000
X'POINT(2) = 16000
Y'POINT(2) = 6000
X'POINT(3) = 14000
Y'POINT(3) = 6500
X'POINT(4) = 14000
Y'POINT(4) = 17500
X'POINT(5) = 16000
Y'POINT(5) = 17000
CALL RECT

COLOR=12
! 1st right red block
X'POINT(1) = 16000
Y'POINT(1) = 17000
X'POINT(2) = 16000
Y'POINT(2) = 6000
X'POINT(3) = 18000
Y'POINT(3) = 6500
X'POINT(4) = 18000
Y'POINT(4) = 17500
X'POINT(5) = 16000
Y'POINT(5) = 17000
CALL RECT

COLOR=BLUE
! 1st blue block
X'POINT(1) = 14000
Y'POINT(1) = 15000
X'POINT(2) = 16000
Y'POINT(2) = 15500
X'POINT(3) = 14000
Y'POINT(3) = 16000
X'POINT(4) = 12000
Y'POINT(4) = 15500
X'POINT(5) = 14000
Y'POINT(5) = 15000
CALL RECT

! 1st left blue block
X'POINT(1) = 14000
Y'POINT(1) = 15000
X'POINT(2) = 14000
Y'POINT(2) = 5500
X'POINT(3) = 12000
Y'POINT(3) = 6000
X'POINT(4) = 12000
Y'POINT(4) = 15500
X'POINT(5) = 14000
Y'POINT(5) = 15000
CALL RECT

COLOR=10
! 1st right blue block
X'POINT(1) = 14000
Y'POINT(1) = 15000
X'POINT(2) = 14000
Y'POINT(2) = 5500
X'POINT(3) = 16000
Y'POINT(3) = 6000
X'POINT(4) = 16000
Y'POINT(4) = 15500
X'POINT(5) = 14000
Y'POINT(5) = 15000
CALL RECT

COLOR=YELLOW
! 1st yellow block
X'POINT(1) = 12000
Y'POINT(1) = 16000
X'POINT(2) = 14000
Y'POINT(2) = 16500
X'POINT(3) = 12000
Y'POINT(3) = 17000
X'POINT(4) = 10000
Y'POINT(4) = 16500
X'POINT(5) = 12000
Y'POINT(5) = 16000
CALL RECT

! 1st left yellow block
X'POINT(1) = 12000
Y'POINT(1) = 16000
X'POINT(2) = 12000
Y'POINT(2) = 5000
X'POINT(3) = 10000
Y'POINT(3) = 5500
X'POINT(4) = 10000
Y'POINT(4) = 16500
X'POINT(5) = 12000
Y'POINT(5) = 16000
CALL RECT

COLOR=13
! 1st right yellow block
X'POINT(1) = 12000
Y'POINT(1) = 16000
X'POINT(2) = 12000
Y'POINT(2) = 5000
X'POINT(3) = 14000
Y'POINT(3) = 5500
X'POINT(4) = 14000
Y'POINT(4) = 16500
X'POINT(5) = 12000
Y'POINT(5) = 16000
CALL RECT

COLOR=GREEN
! 1st green block
X'POINT(1) = 10000
Y'POINT(1) = 15000
X'POINT(2) = 12000
Y'POINT(2) = 15500
X'POINT(3) = 10000
Y'POINT(3) = 16000
X'POINT(4) = 8000
Y'POINT(4) = 15500
X'POINT(5) = 10000
Y'POINT(5) = 15000
CALL RECT

! 1st left green block
X'POINT(1) = 10000
Y'POINT(1) = 15000
X'POINT(2) = 10000
Y'POINT(2) = 4500
X'POINT(3) = 8000
Y'POINT(3) = 5000
X'POINT(4) = 8000
Y'POINT(4) = 15500
X'POINT(5) = 10000
Y'POINT(5) = 15000
CALL RECT

COLOR=14
! 1st right green block
X'POINT(1) = 10000
Y'POINT(1) = 15000
X'POINT(2) = 10000
Y'POINT(2) = 4500
X'POINT(3) = 12000
Y'POINT(3) = 5000
X'POINT(4) = 12000
Y'POINT(4) = 15500
X'POINT(5) = 10000
Y'POINT(5) = 15000
CALL RECT
XCALL SLEEP, 5
COLOR=RED
! 2nd red block
X'POINT(1) = 18000
Y'POINT(1) = 13000
X'POINT(2) = 20000
Y'POINT(2) = 13550
X'POINT(3) = 18000
Y'POINT(3) = 14000
X'POINT(4) = 16000
Y'POINT(4) = 13550
X'POINT(5) = 18000
Y'POINT(5) = 13000
CALL RECT

! 2nd left red block
X'POINT(1) = 18000
Y'POINT(1) = 13000
X'POINT(2) = 18000
Y'POINT(2) = 5500
X'POINT(3) = 16000
Y'POINT(3) = 6000
X'POINT(4) = 16000
Y'POINT(4) = 13500
X'POINT(5) = 18000
Y'POINT(5) = 13000
CALL RECT

COLOR=12
! 2nd right red block
X'POINT(1) = 18000
Y'POINT(1) = 13000
X'POINT(2) = 18000
Y'POINT(2) = 5500
X'POINT(3) = 20000
Y'POINT(3) = 6000
X'POINT(4) = 20000
Y'POINT(4) = 13550
X'POINT(5) = 18000
Y'POINT(5) = 13000
CALL RECT

COLOR=BLUE
! 2nd blue block
X'POINT(1) = 16000
Y'POINT(1) = 9000
X'POINT(2) = 18000
Y'POINT(2) = 9500
X'POINT(3) = 16000
Y'POINT(3) = 10000
X'POINT(4) = 14000
Y'POINT(4) = 9500
X'POINT(5) = 16000
Y'POINT(5) = 9000
CALL RECT

! 2nd left blue block
X'POINT(1) = 16000
Y'POINT(1) = 9000
X'POINT(2) = 16000
Y'POINT(2) = 5000
X'POINT(3) = 14000
Y'POINT(3) = 5500
X'POINT(4) = 14000
Y'POINT(4) = 9500
X'POINT(5) = 16000
Y'POINT(5) = 9000
CALL RECT

COLOR=10
! 2nd right blue block
X'POINT(1) = 16000
Y'POINT(1) = 9000
X'POINT(2) = 16000
Y'POINT(2) = 5000
X'POINT(3) = 18000
Y'POINT(3) = 5500
X'POINT(4) = 18000
Y'POINT(4) = 9500
X'POINT(5) = 16000
Y'POINT(5) = 9000
CALL RECT

COLOR=YELLOW
! 2nd yellow block
X'POINT(1) = 14000
Y'POINT(1) = 7000
X'POINT(2) = 16000
Y'POINT(2) = 7500
X'POINT(3) = 14000
Y'POINT(3) = 8000
X'POINT(4) = 12000
Y'POINT(4) = 7500
X'POINT(5) = 14000
Y'POINT(5) = 7000
CALL RECT

! 2nd left yellow block
X'POINT(1) = 14000
Y'POINT(1) = 7000
X'POINT(2) = 14000
Y'POINT(2) = 4500
X'POINT(3) = 12000
Y'POINT(3) = 5000
X'POINT(4) = 12000
Y'POINT(4) = 7500
X'POINT(5) = 14000
Y'POINT(5) = 7000
CALL RECT

COLOR=13
! 2nd right yellow block
X'POINT(1) = 14000
Y'POINT(1) = 7000
X'POINT(2) = 14000
Y'POINT(2) = 4500
X'POINT(3) = 16000
Y'POINT(3) = 5000
X'POINT(4) = 16000
Y'POINT(4) = 7500
X'POINT(5) = 14000
Y'POINT(5) = 7000
CALL RECT

COLOR=GREEN
! 2nd green block
X'POINT(1) = 12000
Y'POINT(1) = 6000
X'POINT(2) = 14000
Y'POINT(2) = 6500
X'POINT(3) = 12000
Y'POINT(3) = 7000
X'POINT(4) = 10000
Y'POINT(4) = 6500
X'POINT(5) = 12000
Y'POINT(5) = 6000
CALL RECT

! 2nd left green block
X'POINT(1) = 12000
Y'POINT(1) = 6000
X'POINT(2) = 12000
Y'POINT(2) = 4000
X'POINT(3) = 10000
Y'POINT(3) = 4500
X'POINT(4) = 10000
Y'POINT(4) = 6500
X'POINT(5) = 12000
Y'POINT(5) = 6000
CALL RECT

COLOR=14
! 2nd right green block
X'POINT(1) = 12000
Y'POINT(1) = 6000
X'POINT(2) = 12000
Y'POINT(2) = 4000
X'POINT(3) = 14000
Y'POINT(3) = 4500
X'POINT(4) = 14000
Y'POINT(4) = 6500
X'POINT(5) = 12000
Y'POINT(5) = 6000
CALL RECT



CLOSER: XCALL AMGSBR, G'CLWK, GCB, STATUS
EXIT:   XCALL SLEEP, 8 : PRINT TAB(23,1); TAB(-1,37);:END
RECT:
       XCALL AMGSBR, G'SFAC, GCB, COLOR,STATUS
       POINT'COUNT = 5
       XCALL AMGSBR, G'FA, GCB, POINT'ARRAY, STATUS
       IF NO'OUTLINE=1 THEN NO'OUTLINE=0 : RETURN
       ! outline the right face
       XCALL AMGSBR, G'SPLC, GCB,BLACK, STATUS         ! fill style
       XCALL AMGSBR, G'PL, GCB, POINT'ARRAY, STATUS
       RETURN

LINES:
       XCALL AMGSBR, G'SPLC, GCB,BLACK, STATUS         ! fill style
       XCALL AMGSBR, G'PL, GCB, POINT'ARRAY, STATUS
       RETURN