	SUBROUTINE REDRAW
C
C	Redraw screen and init arrays
C
C	The array screen is used to make the short range scan
C	draw from the middle to the top and bottom.
C
	INCLUDE 'LEDFOR.COM/-LI'
	INCLUDE 'PLAYER.COM/-LI'
	INCLUDE 'BUFFER.COM/-LI'
	INTEGER*2 SCREEN(17)
	DATA SCREEN/09,08,10,07,11,06,12,05,13,04,14,03,15,02,16,01,17/

	CALL CLEAR

	CALL WRITE(1,6,'Coordinates')
	CALL WRITE(2,4,NEWCOR,15)

	CALL WRITE(4,3,'Heading :')
	CALL FILL(NEWREP(1,1),7)

	CALL WRITE(5,6,'Warp :')
	CALL FILL(NEWREP(1,2),7)

	CALL WRITE(6,4,'Energy :')
	CALL FILL(NEWREP(1,3),7)

	CALL WRITE(7,3,'Shields :')
	CALL FILL(NEWREP(1,4),7)

	CALL WRITE(8,1,'Hyper Set :  ')
	CALL NUMBER(HYPX)

	CALL WRITE(9,1,'Torpedoes :  ')
	CALL NUMBER(TORX)

	CALL WRITE(14,1,TIM,15)
	CALL FILL(' ')
	CALL FILL(TIM(16),1)
	CALL FILL('m')

	CALL WRITE(5,67,'Ship   Score')

	DO 10080 IY=1,8
	CALL WRITE(IY+5,68,IY+"60)
	IF(ALIVE(IY))CALL FILL('*')
	CALL WRITE(IY+5,72,NEWSCR(1,IY),7)
10080	CONTINUE

	DO 10005 IY=1,17
	DO 10004 IX=1,21
	IBUF(2*IX-1)=NEWBUF(IX,SCREEN(IY))
	IBUF(2*IX)=' '
10004	CONTINUE
	CALL WRITE(SCREEN(IY),24,IBUF,41)
10005	CONTINUE

C
C	Set new to old
C
	CALL BANINT		! Robot time...
	DO 10021 IX=1,21
	DO 10020 IY=1,17
	OLDBUF(IX,IY)=NEWBUF(IX,IY)
10020	CONTINUE
10021	CONTINUE

	DO 10031 IX=1,7
	DO 10030 IY=1,6
	OLDREP(IX,IY)=NEWREP(IX,IY)
10030	CONTINUE
10031	CONTINUE

	DO 10041 IY=1,8
	DO 10040 IX=1,7
	OLDSCR(IX,IY)=NEWSCR(IX,IY)
10040	CONTINUE
	OLDACT(IY)=ALIVE(IY)
10041	CONTINUE

	DO 10100 I=1,15
	OLDCOR(I)=NEWCOR(I)
10100	CONTINUE

	DO 10097 I=1,16
	OLDTIM(I)=TIM(I)
10097	CONTINUE

	DO 10001 I=1,20
	COUNT(I)=-1
10001	CONTINUE

	LOOP=-1
	HYPX=HYPER(WHO)
	TORX=TORPS(WHO)
	RESET=.FALSE.
	RETURN
	END
