[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


   PURPOSE
	The nonvolatile library provides a simple means for an application
	developer to manage nonvolatile storage.

   OVERVIEW
	The nonvolatile library is meant to be used transparently across all
	configurations. Currently, nonvolatile storage may consist of NVRAM
	and/or disk devices. nonvolatile.library will automatically
	access the best nonvolatile storage available in the system. Disk
	based storage will be selected first and if not available, NVRAM
	storage will be accessed.

	* NVRAM

	On low-end diskless Amiga platforms, NVRAM may be available. This
	RAM will maintain its data contents when the system is powered down.
	This is regardless of whether batteries or battery-backed clock are
	present. The data stored in NVRAM is accessible only through the
	ROM-based nonvolatile library funtion calls. The size of NVRAM
	storage	is dependant on the system platform and is attainable through
	the GetNVInfo() function.

	* Disk

	In keeping with the general configurability of the Amiga, the actual
	disk location used by nonvolatile library when storing to disk may be
	changed by the user.

	The prefs directory is used on the Amiga for storing many user
	configurable options. The location for nonvolatile disk storage
	is contained in the file prefs/env-archive/sys/nv_location. This
	file should contain a data string that specifies a lockable location.
	If the string does not specify a lockable location, the file will
	be ignored.

	When opened, the nonvolatile library will search all drives within
	the system until it finds this file and successfully accomplishes
	a Lock on the location specified in the file. To force a rescan of
	all drives, the library may be closed and reopened or execute the
	GetNVInfo() function.

	A simple method for creating a floppy disk for saving nonvolatile
	data is the following:

	Format a disk with the volume name NV
	Create a file prefs/env-archive/sys/nv_location on this disk with
	  the following contents:  NV:nonvolatile
	Create a directory nonvolatile

	The following is a script file that can be used to make a floppy
	for use with nonvolatile library:

	.KEY DRIVE/A,DISK
	.BRA {
	.KET }
	format Drive {DRIVE} Name {DISK$NV} noicons ffs
	makedir {DRIVE}prefs
	makedir {DRIVE}nonvolatile
	makedir {DRIVE}prefs/env-archive
	makedir {DRIVE}prefs/env-archive/sys
	echo {DISK$NV}:nonvolatile >{DRIVE}prefs/env-archive/sys/nv_location

	!!!NOTE!!!

	Because NVRAM performs disk access, you must open and use its
	functionality from a DOS process, not an EXEC task.  Normally
	your CDGS application is invoked as a DOS process so this
	requirement generally should cause you no concern.  You just
	need to be aware of this requirement should you create an
	EXEC task and try to invoke nonvolatile.library from that task.