	 -------------------------------------------------------
	 ****						    ****
	 **** THIS IS THE HELP FILE FOR THE PROM150 PROGRAM ****
	 ****   Last modified by Richard Holmes 26-01-85    ****
	 ****						    ****
	 -------------------------------------------------------

	This file is scanned and displayed by the PROM150 program.
As various portions of PROM150 are executed, various screens within 
this file can be displayed. This all adds up to the ability to display 
help screens to the user at any time.

	Another advantage is that the user can enter or customize these 
screens so that notes or other information can be displayed at certain 
times within the program. This was especially in mind for the CRC routines,
and one particular customer.
:: Section 1
	        +------------------------------------+
	        | PROM150 Eprom Programmer Help File |
	        +------------------------------------+

	You have loaded and run the PROM150 program for the PGC-150  
Eprom Programmer Card from SME Systems.

	This program allows you to do many powerful and sophistocated
things with proms as well as providing a large range of useful auxiliary
features such as disk file support, editing of data, CRC and checksum 
abilities to name just a few. 

	This program is the result of many months of work by SME Systems 
to produce a truly powerful general purpose eprom programmer package. Due
to the investment in time and effort and a commitment to constant 
improvement, SME Systems welcome bug reports, bug fixes, and especially
invite helpful suggestions.

	You may address all the above correspondance to Richard Holmes C/o-
SME Systems 22 Queen Street Mitcham 3132, Vict.
>
Pressing Keys
-------------

	If you enter a '^C' then the program will terminate. This also
applies to most of the places in the program where a response is being
asked of you. It allows you to quickly exit the program.

	In the same way, an ESCape key press will usually get you out 
of what is currently going on and return you to the main menu. This is 
also an escape mechanism.

	The '?' key has been provided so that you can get immediate help 
on most of the aspects of the program at any time.
>
The EPROM.DAT Logging File
--------------------------

	There is a logging file maintained by this program. It is 
called EPROM.DAT and contains information about the program as well
as some special information that is done by a part of the program.

	At MOST TIMES in the program, a Control C will immediately 
exit the program AFTER updating the loggin file.


Currently
---------

	AT PRESENT, the program is asking if you want to test the
memory buffers. If you respond 'Y' then two memory test routines are 
used to verify that your memory is not faulty. You should do this
occasionally or if you suspect that there is a hardware problem in
your machine.
>
Glossary Of Terms and Usages
----------------------------

BUFFER............An area in the computers memory set to hold a proms' data
EPROM.............Erasable Programmable Read Only Memory
FUSE LINK PROM....A prom that is programmed by blowing out fuses within it
LOAD FROM DISK....Copying a disk file into the computers memory
LOGGING FILE......A file that records activities of the program
MONITOR...........A program that gives basic access to the computer
PROM..............Programmable Read Only Memory. Not erasable
READ A PROM.......Copy the proms data into computer memory
SAVE TO DISK......Copy computer memory into a disk file
TO PROGRAM a PROM.To copy some of system memory into a prom or eprom
VERIFY............Compare two proms or memory and prom
:: Section 2
		    +-----------------------+
 		    | Main Menu Help Screen |
		    +-----------------------+

SELECTING MENU OPTIONS
----------------------

	You are currently at the MAIN MENU level. From here you can
select options by pressing a single letter that corresponds to a menu
item. The '?' key that got this displayed is an example of this.

	Examples of this are pressing 'P' for program a prom or 'R' to
read a prom.

	When the letter is pressed, the action is immediately performed, 
there is no need to press the return key.

NOTE: You are strongly recommended to always use the program in the same way
      so that mistakes are reduced. It is also for this reason that the 
      buffers have been provided.
>
BUFFERS 1 and 2
---------------

	The two memory buffers have been provided to reduce the need for
giving exact addresses. The idea is for the user to specify a '1' or a '2'
to tell the program to use buffer one or two. This has been done throughout 
the program as an aid to the user. This is also a safety measure, it is so 
easy to type a '1' or '2' that you should rarely make a mistake.


SELECTING PROMS
---------------

	When you select a prom option, the program immediately initializes
the prom programmer board then displays the NEW PROM type in REVERSE VIDEO.

	It is absolutely vital that you always select the correct type of 
prom on the menu. If you do not then you can destroy an incorrect prom. 
The reason for this is that some proms have different pin connections and
when another prom is loaded in its place damage can result.
:: Section 3
		+-----------------------------+
		| Disk File Load Help Section |
		+-----------------------------+

	The PROM150 program can load disk files into memory in one
of two ways.

1) As a pure binary image or .COM file. These are the standard type 
   of file and are how the 'SAVE FILE' saves data to disk.

2) As an Intel 'HEX' File. These files are usually the result of an
   assembler or similar. The program will load these files and place 
   them in memory where you specify.

	After the load from disk, a message will be displayed to indicate 
the number of bytes loaded and the last address loaded.

	The best and most recommended way of doing any disk activity is
via the memory buffers. You do this by telling the program to load a buffer
which the program will then do in one go. 
>
	The loading of large disk files can be tricky. This is because when 
you want to program a large file, you must give the address to start loading 
into memory and the number of bytes to load. If the file is larger than a 
buffer and you load a buffer using the '1' or '2' options then only enough 
bytes will be loaded so that some of your file will be ignored, only a 
buffer full will be loaded.

	An example to load a 10 K bte file from disk into memory at 5000h
is to:-

	1) Enter the file name as usual
	2) Specify a 'M'emory load
	3) Give the address to start the load as 5000h
	4) Give the number of bytes as 27ffh
	
	After this a little disk activity will show that your file is 
being loaded and when finished, the screen should show the number of 
bytes loaded and the last address used.
:: Section 4
		+---------------------------+
 		| Save to disk Help Section |
		+---------------------------+

	When you read a prom or do modifications that you want to save
for later use, you can create a disk file and save your work in it.

	This is called saving to disk. You copy memory straight to a disk
file. It is worthwhile. The disk file then contains an exact copy of the
memory.

	The advantage of this is that the disk file can be later used 
or checked against the contents of the prom for verification. Also,
if it is saved on disk, you can use many programs to do operations
on the file which could not be done while it was in a prom.

	When this section of the program is run, the program will ask for 
the disk file name to save the data in. You should type in a short 
descriptive name. Examples are 'MBSBC800.001' which could mean MonBios
SBC-800 version 1.
:: Section 5
		+---------------------------------------+
		| Byte-by-Byte Verify ERROR Help Screen |
		+---------------------------------------+

	A byte has not verified while attempting to program your prom. 

       You can PRESS an 'I' to ignore the error and continue
				or
	    PRESS a 'Q' to quit programming the prom.

			USUAL CAUSES OF THIS ARE

1) Faulty prom				4) Trying AMD devcies with IQS options
2) Not erased prom			5) Incorrect insertion of the prom
3) Faulty programmer card		6) Wrong prom type

	You should check the above list before proceeding.
>

	When a prom is being programmed, each byte in the prom is 
checked that it matches exactly what was asked to be programmed into 
the prom. This is called verification, you check that the data in the 
prom matches the data in your computers memory.

	The byte-by-byte error occurs when a byte is written to the prom
and it does not 'take'. Usual caused are outlined on the provious page but 
usually mean that something went wrong with the prom, the programmer or you 
inserted the prom type.

	After checking the above list, you can try another prom and see 
if it was just the prom at fault. If the new prom does in fact program 
all right then you have a dud original prom
:: Section 6
		+--------------------------+
 		| Final Verify Help Screen |
		+--------------------------+

	After all the bytes were programmed AND individually verified, Your 
prom HAS NOT VERIFIED. This verify is done is standard read mode.

	You can enter a 'Q' to quit the verify or an 'I' to ignore the 
error and to continue the verification.

		Here are some things to check.

1) If there was no byte-by-byte verify error then you have a speed
   problem as the prom has passed an initial verify. Suspect prom.
2) Are the prom legs dirty - clean with meths if necessary.
3) Is the prom inserted correctly into the socket?
4) Are the switches set correctly?
5) Did you select the correct prom type?
6) AMD brand proms will not program with IQS options.
>

	The PROM150 program is very belt-and-braces in that each byte is
checked immediately after is has been programmed and again when all bytes 
in the prom have been programmed. This is a double verify and has been
put into the program as a means of testing and reassurance to the user that
errors are always spotted.

	The previous list of things should be checked before any keys are
pressed. The most usual causes for this error are faulty proms, poor switch 
settings and operator mistakes in general.
:: Section 7
		    +-----------------------------+
		    | Memory or PROM CRC Routines |
		    +-----------------------------+

	This section of PROM150 allows you to get the CRC and the CHECKSUM
of any portion of memory in the computer you are now using.

	The recommended use for this is to read a prom into a buffer from 
either disk or from the programmer card then extract the CRC and CHECKSUM 
that you require by giving the appropriate commands.

	AT PRESENT the program is asking you if you wish to do the 
calculations on BUFFERS or MEMORY.

	If you enter a 'B' then the two memory buffers are used and the 
screen displays the CRC and CHECKSUMS for these whole regions of memory.

	If you enter a 'M' then the program will then ask for a starting
address (in hex) and the (hex) number of bytes to do. A second later the
CRC and CHECKSUMS will be displayed along with their compliments.
..over for more
>
		+---------------*---------------+
		|     SPECIAL INFO SECTION	|
		+---------------*---------------+

	Use this page to display informaton about where your special
proms need have their CRCs or CHECKSUMS take from.

NAME		Start   Size	---- Comment ----
------------------------------------------------------------------------
Scale		5000	1CFE	Put LOW byte of checksum at 51CF







------------------------------------------------------------------------




:: Section 8
		    +------------------------------+
		    | CRC and Checksum Help Screen |
		    +------------------------------+

	The CRC and Checksum routines allow you to get the 'personality' 
of the contents of memory regions or the complete memory buffers. Uses 
for this include protection and tracing of piracy and checking of prom 
integrity.

	The most popular choice for this is the standard CHECKSUM mode 
which is a simple addition of the specified number of bytes. This addition 
can then be saved into the prom for later checking. Some small machines
require their checksum to be saved in their roms for them to operate at
all. This is the main reason for this part of the program.
:: Section 9
		+-----------------------+
		| Special Help Screen 1 |
		+-----------------------+

	This help screen is supplied for the user to change as required 
so that at a later date reference can be made back to know a required 
fact. This screen is displayed when the 'H' option in the program is 
entered. The next screen is also displayed when required.

:: Section 10
		+-----------------------+
		| Special Help Screen 2 |
		+-----------------------+



:: Section 11
		+--------------------------------+
		| Standard PROM CRC routine Help |
		+--------------------------------+

	This section of PROM150 allows you to get the CRC or CHECKSUM of 
the prom buffers. This is very useful if you wish to check a prom 
against a previously known value. In this way you can determine if 
a prom has changed which may be causing your problems.

	When this routine is used, the state of the AUTO CRC flag selects
whether or not the routine tests the generated against an assumed stored
crc at the rear of the prom. In this way, you can load the CRC into a prom
and then at a later date, do a 'U' option with the 'O' options auto CRC
flag set on and you will check whether or not the data in the prom 
matches the crc saved in the prom. 

	If the auto crc flag is off, the CRC is displayed. Note that the
state of the CRC-CHECKSUM flag determines the type of value returned. If 
CRC then the CCITT value is returned else the more simple addition value 
is returned.
:: Section 12
			+----------------------+
			| Defaults Help Screen |
			+----------------------+

	The defaults section allows you to alter the way the program works
by changing the contents of the EPROM.DAT file. Since the changes are saved, 
you only rarely need to use this ability. The following is a description of
what changes you can make.

*******************
* Auto Serializer *
*******************

	When the AUTO SERIALIZER is set to ON, the program will offer to 
set the last two locations in your prom to the serial number maintained 
by this program. This is only useful if you have the last two locations
in your prom free for use by this.

>
*****************
* Serial Number *
*****************

	The serial number maintained by this program is an incrementing 
number that is a count of the number of proms programmed. In this way, 
you can (say) program ten proms and so then each will have a different 
serial number, each one greater than the previous one.

	This facility is very useful for security purposes as it allows 
you to note where proms are going so that you can keep a track on the 
circulation of your proms.

>
************
* Auto CRC *
************

	Like the auto serializer, the AUTO CRC facility allows you to place
a CRC or CHCKSUM into your prom at two location just previous to the auto
serializer. This allows you to save the 'personality' of your prom so that 
it can check itself for errors etc. 

************
* CRC MODE *
************

	The CRC MODE toggle has two  basic modes, CCITT CRC and CHECKSUM.

-- The CCITT mode uses the proper 16 bit polynomial to generate the CRC 
   of your prom.
-- The CHECKSUM mode uses a simple addition of all the bytes in your prom
   to generate the value.
>
********************
* Buffer 1 Address *
********************

	There are two buffers used by this program for holding the contents 
of proms ready for programming or for reading proms into. Buffer 1 is the 
most used of the two buffers and it is this buffer that the 'E'dit option 
comes into by default. 

	You are strongly recommended to set this address to 5000 (hex) as 
this leaves enough room for the second buffer and misses the program.

********************
* Buffer 2 Address *
********************

	This is the second prom I/O buffer. You are recommended to set
the address of this buffer to 9000 hex.
:: 13
		    +--------------------------+
		    + Verify Proms Help Screen +
		    +--------------------------+

	The verify proms option has been included to allow you to check if
the contents of two proms are the same. This is very useful if you have 
done a run of programming proms and one or more of your proms have failed 
in the end users machine. Using this option you can read a known good prom
into buffer 1 then compare this to a prom read into buffer 2.

	The things to remember with this routine are that the two memory 
buffers are loaded from the prom (over written). You can skip this by 
entering an 'S' to skip the load. In this case the current contents of 
the buffer are used for the verify.
:: 14
		     +-------------------------+
                     + Fill Memory Help Screen +
                     +-------------------------+

	This routine has been provided on the main menu to allow you to
quickly and safely fill memory and or buffer areas with a single byte.

	The most common reason for this is to pre-initialize memory before
reading a disk file into it or prior to reading a portion of a prom into a
buffer. By filling the buffer with a single set byte, you are often able to
reduce the time taken to program a prom since this program does not try to 
program blank bytes into a blank prom.

	An example of this would be to load buffer 1 with 'FF' bytes, load 
a program from disk into the buffer so that if the file is not exactly the
length of the buffer, the rest of the buffer is blank.
:: Section 15

		      +------------------------------+
		      + Prom Programming Help Screen +
		      +------------------------------+





:: Section 16
			+--------------------------+
			+ Prom Reading Help Screen +
			+--------------------------+






..end
