	SUBROUTINE USAVE(I)
C	USER GAME SAVE/RETRIEVE ROUTINE
	COMMON IB(10,10),IA(8,2),IC(8,2),NA,IS1,IS2,CHAR,CLEAR
	LOGICAL*1 CLEAR(6),IB
	LOGICAL*1 FILE(26)
1	IF(I.EQ.1) WRITE(5,2)
	IF(I.EQ.0) WRITE(5,3)
2	FORMAT(//
     C' * GAME SAVING *'/' Enter a filename in which'/
     C' the current game can be stored'/' or CNTRL-Z to exit game'/
     C' without saving:')
3	FORMAT(//
     C' * GAME RECALL *'/' Enter the filename in which'/
     C' an old game was stored or'/' CNTRL-Z to start new game:')
	READ(5,4,END=5) FILE
4	FORMAT(26A1)
	CALL ASSIGN(1,FILE,26)
	IF(I.EQ.1) WRITE(1,6) FILE,NA,CHAR,IA,IC,IB
	IF(I.EQ.0) READ(1,6,END=10,ERR=10) FILE,NA,CHAR,IA,IC,IB
	I=2
6	FORMAT(26A1,4X,I3,4X,A1/16I4/16I4/10(10I5/))
7	CALL CLOSE(1)
	CALL CLOSE(5)
	RETURN
10	WRITE(5,8)
8	FORMAT(' ***WARNING***'/' Your saved game file has been'/
     C' damaged and is unusable.')
5	I=-1
	GOTO 7
	END
