/*
** CacheControl.adpro
** 
** $VER: CacheControl.adpro 1.0.0 (09.09.94)
**
** The AREXX program is intended for Epson ES300c scanner owners
** who need to disable 040 caches in order to scan. This script
** allows you to toggle both the 040 Instruction & Data cache.
**
** This script requires ADPro v2.5.0 (or higher).
**
** Copyright © 1993 ASDG, Incorporated
** All Rights Reserved
*/

ADDRESS "ADPro"
OPTIONS RESULTS

NL = '0A'X
SQ = '27'X
DQ = '22'X
TRUE  = 1
FALSE = 0
TempDefaults = "T:TempADProDefaults"


/*
** Save the current environment.
*/

SAVE_DEFAULTS TempDefaults

OKAYN '"CacheControl.adpro"' '"Enable or Disable Caches?"' '"Enable|Disable|Cancel"'
CacheToggle = RC
IF (CacheToggle = 0) THEN DO
	ADPRO_TO_FRONT
	OKAY1 "Operation Canceled."
	EXIT 10
END

ELSE IF (CacheToggle = 1) THEN DO
	ADDRESS COMMAND "C:CPU >NIL: CACHE"
	ADPRO_TO_FRONT
	OKAY1 "Instruction & Data Caches Enabled."
	EXIT 0
END

ELSE IF (CacheToggle = 2) THEN DO
	OKAYN '"CacheControl.adpro"' '"Disable INSTRUCTION, DATA, or BOTH Caches?"' '"INSTRUCTION|DATA|BOTH|Cancel"'
	CacheOff = RC
	IF (CacheOff = 0) THEN DO
		ADPRO_TO_FRONT
		OKAY1 "Operation Canceled."
		EXIT 10
	END

	ELSE IF (CacheOff = 1) THEN DO
		ADDRESS COMMAND "C:CPU >NIL: NOINSTCACHE"
		ADPRO_TO_FRONT	
		OKAY1 "Instruction Cache Disabled."
		EXIT 0
	END

	ELSE IF (CacheOff = 2) THEN DO
		ADDRESS COMMAND "C:CPU >NIL: NODATACACHE"
		ADPRO_TO_FRONT		
		OKAY1 "Data Cache Disabled."
		EXIT 0
	END

	ELSE IF (CacheOff = 3) THEN DO
		ADDRESS COMMAND "C:CPU >NIL: NOCACHE"
		ADPRO_TO_FRONT
		OKAY1 "Instruction & Data Caches Disabled."
		EXIT 0
	END
END
