	SUBROUTINE SAVE(ID,IKEEP)
C	ROUTINE TO STORE/RESTORE GAMES
C 
C----------------------standard common block----------------------------
C 
	COMMON ICR(8,12),IPARM(10),IS1,IS2,NT,ICU(10,10,10,2),CLEAR(8)
	COMMON MARKER(4,3,3)
	LOGICAL*1 ICU,CLEAR
C 
C-----------------------------------------------------------------------
C 
C	IKEEP=1:  SAVE CURRENT GAME
C	IKEEP=2:  RESTORE EXISTING GAME
	LOGICAL*1 A
	LUN=ICR(ID,8)
	IF(IKEEP.EQ.1) GOTO 20
	CALL CLOSE(5) ! USE LUN=5 SINCE 1-4 MAY BE USED
	CALL ASSIGN(5,'SY:CRAWLER.DAT',14)
	READ(5,1,ERR=10,END=10) A
1	FORMAT(A1)
	REWIND 5
	GOTO 25
10	WRITE(LUN,11)
11	FORMAT(' WARNING: no saved game exists.'/
     C' Attempt to continue existing game is aborted.')
	GOTO 100  ! RETURN
20	CALL CLOSE(5)
	CALL ASSIGN(5,'SY:CRAWLER.DAT',14)
	WRITE(5,21) ICR,IS1,IS2,NT
21	FORMAT(8(12I5/),3I6)
	DO 24 I=1,10
	DO 24 J=1,10
	DO 24 K=1,10
	ICU(I,J,K,1)=ICU(I,J,K,1)+33
	ICU(I,J,K,2)=ICU(I,J,K,2)+33
24	CONTINUE
	WRITE(5,125) ICU
	DO 124 I=1,10
	DO 124 J=1,10
	DO 124 K=1,10
	ICU(I,J,K,1)=ICU(I,J,K,1)-33
	ICU(I,J,K,2)=ICU(I,J,K,2)-33
124	CONTINUE
	WRITE(5,325) MARK
325	FORMAT(3(12I5/))
125	FORMAT(25(80A1/))
	WRITE(LUN,22)
	GOTO 100
25	READ(5,21,END=10,ERR=10) ICR,IS1,IS2,NT
	READ(5,125,END=10,ERR=10) ICU
	DO 26 I=1,10
	DO 26 J=1,10
	DO 26 K=1,10
	ICU(I,J,K,1)=ICU(I,J,K,1)-33
	ICU(I,J,K,2)=ICU(I,J,K,2)-33
26	CONTINUE
	READ(5,325) MARK
	WRITE(LUN,23)
23	FORMAT(' saved game continued')
22	FORMAT(' game is saved in CRAWLER.DAT'//
     C' To restore enter C (continue) on any turn')
100	CALL CLOSE(5)
	CALL ASSIGN(5,'TI:',3)
	RETURN
	END
