Ede okt-15-98
what it is
----------
This project is an built it yourself Eprom Programmer.The development
was aimed at the Satellite amateur,but it can be used for other
purposes of course.
This is not a fast production programmer ,but it can program  many
different types.
The double sided PCB is designed so that it can be home made relatively easy.
The software is (hopefully) user friendly enough to be able to work
with it fast and easy.
You can also switch to the 'Henk Schaer' Compatible mode for advanced
PIC 16C84 programming.

types
-----
the programmer does the following types:
parallel eproms
 27C64 ..  27C040/4001
 28C65 ..  28C040
 28F64 ..  28F040
 29F64 ..  29F040

serial eproms
 24C02 .. 24C65

 PIC 16C84 and 16F84 microcontroller
 PIC 12C508 and 12C509

not all types have been tested and some have yet to be added to the
software.the most used types do work.
new types will added in the future with coming software updates.
to program the UV and Flash 51 family controllers there will be
(built it yourself)adaptors soon.

hardware
--------
the hardware is in fact only an extented interface for the printerport.
all programming 'intelligence' is in the software.
the working in short is as follows:
Eprom addresses are send serially (max 18 bits) to the hardware and
there converted to parallel with shiftregisters.reading is done with parallel
to serial conversion.the data to be programmed is send through the printerport
8-bit databus.this system was chosen to keep the PCB as simple as possible.
the use of serial communication through the printerport turned out to be
reasonable fast and absolutely reliable.
the serial Eproms and the 16C84 are programmed through a seperate I2C bus.
Only cheap standard parts are used.
The different types are selected with DIPswitches,these are not suitable
of course for intensive day to day use.this programmer is not meant for
that purpose.

assembling
----------
building this project is not difficult and can be done by everybody with
some basic electronics skills.
the IC's can be welded on the board directly or you can use precision
DIL sockets(these can be welded on the component side).
The programming sockets should precision types also of course,you can
insert ZIF sockets (Textool or Aries) in these.
The board can be used up to the XXX040 types Eproms.if XXX020 is enough for
you,you can use a 10 pole DIPswitch.(bridge nr. 11)
if you don't need the 'Henk Schaer' mode leave out the switch.
(make two shorting bridges)

2732
----
to program the 2732 type Eprom ,you have to make a small modification.
see 2732mod.pcx

power supply
------------
power supply can be both AC or DC: 15..20 V 100 mA.this is not critical.
the voltage on C1 should be always above 15 volts.

board
-----
you can make the double sided PCB yourself,if you have some experience
with this.The dimensions are 160x100 mm (EuroCard).
If you don't want to make the board yourself it can be ordered for 40.-
guilders.P&P depends on destination.

use
---
this version works with Windows(95).you have to make a shortcut with
idle_sensitivity setting at LOW(properties), otherwise reading will become
extremely slow in some cases.
most of the program should obvious(I hope).
UV Eproms should be programmed with the 'express'(Quick pulse) mode.
Some older Eproms may need the slow 'Normal' setting.you can experiment
with different Burntime settings for this mode.
alway first select the type and set the DIPswitches,then load the HEX or
BIN file.Hex files can be off the HEX8M Intel or Motorola S1/3 type.
Hex files should have the *.hex extension, Bin files the *.bin extension.
these should also be in the same directory as the programmer.
you can save a chipdump as a Hex or Bin file.the *.hex or *.bin extension
will be added automatically.
with "fasterase" flasheproms are erased much faster,if this doesn't
work correctly set this option to "off".
DON'T USE THE PRINTERPORT IN ECP MODE!.AS THIS WILL CORRUPT READING AND
PROGRAMMING IN MOST CASES.(Thanks for the testing John)

assembled and tested
--------------------
the programmer can also be ordered completely assembled and tested.
inform for prices and P&P costs.

questions,info and bugs
-----------------------
willem kloosterhuis
00-31-318653068
E-mail waklos@bos.nl
Home Page http://www.bos.nl/homes/waklos/

rev. history
------------
0.5   15-8-96  first release
0.51  15-9-96  some minor bugs,improvements
0.52  28-9-96  HEX file load ChecksumError bug with 16C84 load,
                timing error message added
0.53  18-10-96 reading and programming 27C64 and 128 works ok now
                fixed Compare/verify
0.60  22-11-96 timing routines changed for Windows.
                Hexbuffersave added
0.61  18-12-96 minor bugfix update:Status Window
0.62  27-1-96  support for Motorola S1/3 added
0.70  22-3-97 bugfixes on XX010,020 programming/reading,
               several bugfixes on file sizes,fasterase added
0.72   15-7-97 bugfix on 24cxx read,16F84 added
0.73   10-8-97 bugfix on 16C/F84 in some cases the program hung.
0.80    6-2-98 PIC 12C508 and 12C509 added.
0.81   28-5-98 PIC 12C508 and 12C509 configuration Bugfix.

0.82   15-8-98 This version is done by Dan Wilga (dwilga@mtholyoke.edu),
       he needed the 040 size,so he offered to do the update himself.
       And he did a lot more than just the eprom size.
       Here's what he did:
       
New features in version 0.82:
----------------------------

Now uses XMS memory, if available. As a result, the program requires a lot less conventional memory.

New in the Action menu: "ChecksumBuf", which calculates a simple checksum of the current buffer.

Now supports 27020 and 27040 chips.

The display now shows the settings for DIP switches 11 and 12.

The Verify and Compare functions now list the buffer offset at which they fail.


Bugs Fixed:
----------

View Buffer:
	- Displays the correct offsets and shows the correct data in larger buffers
	- Works correctly when the program first runs and no device has been selected
  - Won't display past the end of the buffer

A .bin file will no longer read past the end of the current buffer if it is too large.

Programming a 27xxx will no longer leave program power applied to the EPROM afterward.


0.83 15-10-98 Full 29Fxx support (thanks Wong Sy Ming)


