Transtronics, Inc.


Pocket Programmer FAQ

>> For the Pocket programmer USB this page has moved to here.

Main Pocket Programmer Page


Index

Common problems   Pocket programmer  USB  Pocket programmer 2     Software     Hardware    Programming    ROM image file types

Eprom Cross table    How to check Vpp voltage UV Eraser back to Pocket programmer page Serial adapter

 EFI ECU FAQ     Buffer fun      How relocate a 2732 image into a 27C256 or 29C256 chip

Make your own TMS2716 adapter 

Why am I having Common Problem X?

Pocket Programmer USB

What has changed with the introduction of the Pocket Programmer 2 and 2A?

hardware

Hardware required? Works on basic PCs even an old IBM PC with an Intel 8088 running at 4.77 mHz and anything later..

What is the correct pin-out of the wall adapter or I need to get a wall wart (power adapter ) to run over seas, what kind do I need? ? Look here The wall adapter for the 'Pocket programmer 2' is now center positive (don't interchange - but the new one won't get hurt by backward voltage!) PRogrammers with an LED can have either polarity.

Does It need AC power for operation? That is, will run off plain DC power, like that from a car battery? Normally the pocket programmer uses the included DC wall adapter. With our cigarette adapter you can run it off car voltage, Don't try to just make a cable - the 12-14Vdc of a car have been known to break the programmer.  you can also run it off a battery (just don't go much above 12 volts

How do I prevent static damage while handling EPROMS? - Read this

Why does the voltage of my power pack read so high? It is normal for it to read high without a load - it is rated at 9Vdc with a 300mA load.

Does It Work with all kinds of parallel ports? All but USB parellel port converters.  unidirectional, PS/2, Note EPP, ECP power management (both CMOS and config.sys) should be turned off.

How fast is it?Very fast! 1 1/2 sec per K byte even with an old 286 running at 8 mHz!

How can I check the Vpp voltage? start the program, select a device, and highlight the Vpp button. Then press 'T'. You can then press the Vpp button and change it to the value you want to test (you must press the new Vpp button at least once. You will want to put paper clips in the pin holes for the pins you want to measure as most meter probes won't reach. In the DOS program, select function 88. Normal ranges for Vpp are as follows:
12.5V - 12.7 to 12.9
21V - 20.5 to 21.5
25V - 24V to 26V

The Modification for very old PP II is as follows:

Remove the Dc-Dc base resistor (1.5K or 2.2K). This resistor is located by the Power connector between
the 39 ohm resistor (Orange-White-Black) and the 1N914 Diode. Replace with a 2.2K (Red-Red-Red) from the base
of the 2N4401 or MSPA06 Transistor (Middle Leg) on the bottom side of the board to Pin #19 of the 74HC374
located by the 7407. This will only be affective when the software is running or the 74HC374 latches Low on power
up.

Finally, run the software. Click on the Vpp voltage then type a "t". Use the test Vpp menu to adjust the pots to provide the correct Vpp for each voltage setting.

What can I do with an old PP1? 

It runs the same software, but there isn't hardware for some of the newer chips. We no longer repair the old 1 version (to recognize a old pocket programmer "1" you can tell because it has version number.)

Software

What is the latest parallel software versions? I-PPUSB1.24,  I-PP2WIN2.38 and I-DOS-PP1-V3.83

See http://wiki.xtronics.com/index.php/Pocket_Programme for USB version change log


What has changed in version number X of the parallel port version?

1.46 - Added Vpp On Modification.
1.47 - Turned Vpp Off On Exit.
1.48 - Not Used.
1.49 - Not Used.
1.50 - Turned Vpp Off On when not in use for Modified PP I & PP II.
1.51 - Fixed Intel & S Hex Format File Load to Ignore Text Info.
1.52 - Moved buttons around to make Window smaller for Laptop's and Fix 2817 EEprom.
1.53 - Made Window smaller and updated Help. Fixed MXIC Parts.
1.54 - Fixed AMIC 29002 size. Added A29040.
1.60 - Added SST Hub Controller.
1.61 - Not Sure
1.62 - Fixed X16 Display of Address Buttons & 4Meg (27XXX) Fix & Changed Display Bar.
1.63 - Added 27X00 Eprom.
1.64 - Fixed NT/2K/XP Error introduced in 1.63.
1.65 - Added MXIC 28F1000 Flash, Fixed Erase for 12V parts, Fixed Buffer Start File Load.
1.66 - Added Intel 28F200, 28F400, 28F800 Flash and 27C011 Eprom.
1.67 - Fixed Save File Size.
1.68 - Increased Editing address, Changed Timer Cal., Fixed 27011.
1.69 - Added ST Parts.
1.70 - Added Fluff for compile (??) problems.
1.71 - Changed 28C64 to Byte Program, Added 28C64B.
1.72 - Fixed Delay error introduced in 1.68.
1.73 - Remove Unlock from 2816/64, adjusted for Fairchild 27C040, updated Edit.
1.74 - Fixed Mot S37 format, added Atmel Parts.
1.75 - Added Auto Part ID function, Added EEprom ID, Increased Pulse Clock time.
1.76 - Added ST 48Z128, Fix 49X001/2 Parts, Fixed FF program on Eproms.
1.77 - Merged 28F001 Intel into one Block.
1.78 - Fixed Addressing for Parts beyond 8Meg.
1.79 - Added ST 29F400 & Amd 29F400 to Menu.
1.80 - Fixed menu selection, last byte on file load and MX281000.
1.81 - Added Winbond 29EE512/29C040/49F002/29F040/49F020 to Menu.
1.82 - Fixed Auto Find to work with New Menu selection.
1.83 - Added ST M29F400/M29F800 and AMD AM29F400/AM29F800.
1.84 - Fixed 28CXXX Data Protection and programming of 28FX000 MX parts.
1.85 - Set ReadOnlyError so that a Read Only File Generates a Error.
1.86 - Fixed Address panel and turned off Address on 4 Meg Parts.
1.87 - Moved Addressing Code around for XP Pro Problem ???
1.88 - Changed Delay for XP Pro Problem ??? / Added Intel 82802 Not Tested...
1.89 - Made more changes to Delay for XP Pro Problem ???
1.90 - Added M48Z35, Amd29F100, Amd29F200 and set Vpp on for Amd29FX00 Parts.
1.91 - Worked on 29FX00 Problem.
1.92 - Added Real Time Mode to Programming, XP Pro Fix.
1.94 - Fixed Illegal W2K Error when PP not connected, Update Editor.
1.95 - Fixed Edit Update Line, Got Intel Hub to Program & Erase
1.96 - Fixed 27CX00 Addressing, Fixed 27C322, Set Vcc to 6V During Programming for Atmel.
1.97 - Fixed 29FX00 Problem and Added 29F100/29F160.
1.98 - Lowered Flash Erase time out, Added AE29F2008 to menu, Fixed Auto Find.
1.99 - Added DS1249 & DS1250 to menu, Added <Reset Default> Button and Tweaked ASCII Hex Read.
2.00 - Fixed 27256/27010 problem with some CPU's.
2.01 - Fixed 28C010, Device Select and Added 'Buffer Not Loaded' Test.
2.02 - Added LPT4 addressing for PCI Card and Adjusted Strobe Timing.
2.03 - Adjusted SST Hub Program Timing, Note: Connect pins 32 & 25 for hub parts.
2.04 - Added AT29LV320, note swapped Address -1.
2.05 - Adjusted Reset and Fixed PI Error on close.
2.06 - Fixed File Open Error When File is Not Found, Invaild Hex Value Error & Worked on 27SF512 Erase Cycle.
2.07 - Fixed 29LV160 Erase & Program, Note: Can take up to 60 Seconds to Erase. Change Add. output to update all Regs. each time.
2.08 - Adjusted Program Timer Delay, Fixed AT29CXXX, Found No Problem w/27SF512.
2.09 - Fixed C7Y291, 29F800 error.
2.10 - changed Get Data Delay.
2.11 - Added Lo/Hi Select for 28FX00/29FX00 Parts.
2.12 - Added Error Msg. to <Load Buffer> if file is not loaded.
2.14 - Added Support for Tektronics Hex, this will ONLY READ a Tektronics Hex file it will NOT SAVE When in the mode.
2.20 - Added support for PP-IIA (units with Led), also still supports I & II.
2.21 - Increased Timeout on 29Fx00.
2.22 - Increased Program Pluse X2.
2.23 - Fixed Vpp Test Button, Added SST39VFXXX.
2.24 - Fixed 29CXXX for slower CPU's.
2.25 - Fixed 28FXXX, Removed 'FF' Skip.
2.26 - Fixed Windbond erase for 27CXXX & 27EXXX, changed from Add to Insert on Memo windows.
2.27 - Change Vpp 12.5 to 12.75 and add 49BV512.
2.28 - Added 29LV800 to Menu.
2.29 - Not Used.
2.30 - Changed software to PP IIA Only, use on PP & PP II at your own risk. Lo Voltage parts are only supported on PP IIA.
2.31 - Increased Delay for Erase Cycle on some Flash, Corrected 3V error.
2.32 - Fixed 49BV002, No Program/Erase error.
2.33 - Added ST 48Z512.
2.34 - Added ST 29W040.
2.35 - Fixed Programming 29LV/BVxxx Series Devices, Added Scroll Bar to Error Window.
2.36 - Added AMD29LV040.
2.37 - Fixed Hex Load for Extra Long Strings.
2.38 - Fixed 28F001BX Erase & Program.
2.39 - Fixed 2532 Program.
2.40 - Fixed AT49002 Erase & Program, Changed Edit Start Addressto include Buffer Start.
2.41 - Fixed ST27SF512 Program.


What is all this buffer start stuff about?

Most of the time you will never have to touch any of these unless you are splitting ROMs or pasting together files.

Buffer-start Automatically set - but you can change where the software thinks the beginning of the binary file data gets loaded. The buffer-end is always the buffer-start plus the device size.
 
Device start Normally 0 but you can change so that it will start putting buffer start data at some other address.

Device End Should be the end of the device or equal to device size + device start - tells the program where to stop programming at.

Hex file start Most should never touch this - for pasting together hex files. works the same as buffer start. IF you have to ask you shouldn't be using this.

Hex file end Most should never touch this - for pasting together hex files. works the same as buffer start. IF you have to ask you shouldn't be using this.

Hex offset Makes it load hex file data at different place in the buffer

Buffer notes: The buffer size is always the same as the chip size -- extra data will wrap around!

To manipulate the data you can do it a few different ways - you can make use of the buffer or hexfile-start and end settings which will load the buffer from the start point to the end point and will ignore the rest. This is useful if you have a lame compiler that includes the stack as part of the data.

The hexfile offset increases the address of where the file is loaded. To move it down you would need to increase it enough to cause it to wrap around.

How to relocate  a 27C32 ROM Image into a 29C256 or 27C256 chip
(extra address lines tied high)

Set the device type as the chip you are going to program. Set the Device Start to 7000. Load the buffer with your 2732 sized ROM file. Program the device.
Remember that you have to set the Device start back to zero when you are done as it will cause problems doing other types of programming jobs.

To put a 27C256 chip in a 27SF512 chip you would similarly set the start of device to 8000.

Why can't I find my device in the windows program? You must have your video set to at least 800x 600 resolution to see the complete parts list.

How do I put a 1 meg Bin file into two 27C512s (or similar splits)?  Assuming a linear split (See below for odd even splits), load the buffer and burn the first chip normally. Then change the start of buffer to 10000h (or what ever the capacity of the chip is) and burn the second chip. 

Why am I having problems programming a FLASH part?

APC Sleep mode power down etc. These set ups are a problem - especially on lap tops. They are in the BIOS code so there is no way for us to turn them off in software. They are often the cause of problems programming the Flash 29C256. There is one IBM lap top that is set up so you CANNOT turn it off. Make sure there is a way to disable the power down settings before you buy a lap top.

Software updates? See Upgrades

Software requirementsWin95, 98, 98SE -- Win2000 is hoped to added late 2001

Minimum DOS version required for I-DOS-I-PP1 operation? 3.0 or later

What program should I run? Unless you are using and adapter you should run fileprom.exe  dos and for windows run win_prog_.exe

What is new with the 3.60 or more DOS software? It has a fix for EPP and ECP printer ports. It is no longer necessary to change them in the CMOS setup tables.

Why is there also a DOS program? - There are several reasons for us staying with DOS. It is faster, many customers use BAT commands to script procedures using the COMLINE feature, It becomes messy to install device drivers. By sticking with DOS you can make a bootable DOS disk and it will run on any machine with out installation  many of customers like that because it enables them to run it on a clients machine with out doing an installation.

Version 1.79 has a device selection bug

Particular chips

27C256R - I can't reprogram this why? - it is a OTP(One Time Programmable) It can't be reprogrammed.

2732 - It was working and then I erased it and now it won't program - all of them from that batch act the same way. - Often these were programmed at the wrong voltage - once erased they will never work again.

Serial adapter

Won't program older smaller Serial chip?  Try increasing the delay (button near the bottom) - sometime up to 10 for very old chips.

Programming

How do you put a 28 pin chip in the AIP socket? Leave the empty socket holes on the end with the lever. The end of the chip with pi 1 is near the lever.

What are the steps required to program a chip in the WIN program? Start the program, pick a device from the list that matches your ROMs part number. Press file type if it isn't binary. Press load buffer and pick your ROM image file. Press blank check. Press program.

What are the steps to copy a chip in using the DOS program fileprom?

  1. Start fileprom
  2. Select the chip type you are working with from the first screen. Enter the number and press <enter>. (you may have to press E or F to see all the types.
  3. On the next screen make sure the current drive is your C:  drive. If not, select the option to change it. Also make sure you are in the BIN file mode type.
  4. Insert the source chip into the programmer and flip the lever on the ZIF socket - If there are any empty holes they should be near the lever end of the socket.
  5. press M for move EPROM to buffer
  6. Enter \ and press <enter> to select C:\ as your working directory
  7. Enter eprom and press <enter> this will save the eprom as C:\eprom.bin
  8. Remove the source chip and place a blank chip in the programmer - remember to close the lever.
  9. Press P <enter> <enter> and it will start programming the chip.

Why am I having trouble programming a Flash chip? If you are running under M$Windows make sure you have very little else running or try it from DOS. If you are trying to load a Hex file on an Atmel remember that those parts have an automatic erase cycle which will cause problems with Hex segments as they load. Save your object code as a binary file and try again. - see 

Why isn't the check-sum the same? Several things can cause this - if this is a hex file the sum-check depends on what was in the buffer before the the data was overlaid in the buffer. You might try filling the buffer with 00s. Also, you may be comparing the file check-sum with the ROM check-sum -- they are not the same thing.

I get an SES error code - This probably means you have a bad check sum due to the un programmed part of the chip. You would normally fill the buffer with FFs or 00s (depending on the particular ECM computer) before loading the file to the buffer. Hex files can also give bad check sums if they over write the same address space. 

More about Checksums - There are many types of checksums! The Checksum the pocket programmer does a Byte Checksum while GM does a Word Checksum, because they are using a 16bit CPU. They also store their checksum at the beginning of the Hex file without including it in the actual ROM code. GM might use a Word or Byte? on their chips (if anyone know this for the different computers please email us), but definitely  use Word on the OBD Computers.

Well what is a Byte Checksum?  This is where all bytes are added together throwing away any 16th bit carries to keep the Sum check one word or 16 bits in length. i.e. 12h + BDh + 56h + C8h = 01EDh   In other words, the pocket programmer makes a 16-bit check sum by adding all the 8 bit values in the buffer while throwing away all the carries above the 16 bit boundary.

And what is a Word Checksum? This is were all the 16 bit words are added again throwing away any 16th bit carries to keep the Sum check one word or 16 bits in length. i.e. 12BDh + 56C8h = 6985h

Why can't I find the non CMOS version of this chip in the DOS software? The NMOS version might be listed as the same number as the CMAOS version - 28(C)16 means both 2816 and 28C16.

Where can I find a particular EPROM ? We have a few see Surplus ICs

Why does it fail with Intel parts using the I-874X or I-875X adapter? You need to highlight the Vpp Button and Press the 'T' Key. This will bring up more buttons on the right side of the screen. You need to increase the Program Delay X2 or more when using Intel parts as they are slower than other Manf. These parts need more time for the MCU to send the data back other wise the data address will be offset by 1.

What is the correct programming voltage for 2732s? 2732 - Oh, this is a nasty chip - it comes with more than one suffix and has differing programming voltages. If you program it with too high of a voltage you ruin the chip - AND sometimes blow out the programming voltage supply. The new programmer should be better about this and not cook itself. Be VERY careful about WHICH 2732 you are working with. Look at the suffix to the part number As use 21V Bs and Cs use 12.5 anything else use the plain 2732 setting.

What is this secret 'T' function (88 in DOS) all about? First, It is not listed because 99% of the time you don't need to use it. Select the vPP (programming voltage button) and type the letter "T". This will bring up a hidden menu.

Why am I having problems programming with the PLCC adapter? If you are programming 32 pin layout parts (like most FLASH) you need to remove the bottom header from the adapter. It is used for 28 pin layout memories (512 or smaller)

Emulator problems? there was a version change for the newer board  the old software wont work with the new board and visa-versa.

What Can I do to keep from breaking the pins on my Emulator cable header?

Put a Machine socket on the Emulator header. You end up plugging the pins of the machine socket into the car's computer socket instead of the cable header. Now, if you break a pin off, it will be the machine socket and not the header. Then all you have to do is replace the socket. We should have some in stock for you. Not a bad Idea to use a machine socket on your car computer board as well.

How do you use a 29C256 in place of a 27C128 or 27C64? - you will need to 'relocate' the ROM image to the top of the 29C256 address space. 

Do you support SNAP or other programming algorithms?

The SNAP algorithm is only one of several that works; its advantage is one of speed. When programming UVEPROMS one must keep pulsing the cells until they are programmed and then add programming time to insure that they are programmed enough that they won't flip under different temp, Vcc conditions. By increasing Vcc it helps provide a worst case condition. Other parts of the algorithm count the number of pulses to flip the bit and then multiply that by some factor and add insurance pulses. There are all numbers of recipes for doing this. Some expose the chip to excessively high Vcc that can effect the life time of the part. Some are quite slow.

The pocket programmer uses the quick intelligent algorithm (often just called quick) with an elevated Vcc which is supported by all the manufactures (ask you sales rep to get you in touch with a factory engineer if you doubt me). It is a somewhat more conservative system that stresses the chips less (as is required by some military specifications) and uses a bit more time in programming.

The snap algorithm is for programming chips in consumer products in a minimum time (cost), but at the expense of more stress to the part.

It is possible (but not recommended) to program without raising the Vcc and using a very high number of insurance pulses, but with the larger chip sizes that takes a very very long time and fails to provide a worst case check that the elevated Vcc provides.

UV Eraser

How long should I erase a UV erasable chip (27xx types?)

Take a programmed part - put it in the eraser for a minute at a time checking each time to see if it is erased. once it is erased triple the time for all chips of that particular part number AND manufacturer. See theD_erase

My eraser rattles is the bulb broken?

No. it is normal to make a slight sound.

My eraser won't light up?

Most likely because the door is open. There is a tiny safety interlock that keeps it off unless the door is closed. You can check the operation by looking at the pilot lamp - it is actually a bit of florescent material that glows from the UV light.

EFI - ECU type stuff

look here

 

ROM image file types

I programmed my part with a HEX file - If you don't have the unit set to hex - it will program the part with the ASCII representation of hex instead of the binary You need to set the software to the correct file type.I don't seem to be able to find a supported chip on the windows program? Be sure your computer video card is set for at least  800x600

I am working with S-Record files do you have any utilities? Download the Srecord utilities that convert Srecords to Bin and Bin to Srecords. To contact the author of these utilities, Mr. Ant Goffart, Email him at ant@goffart.co.uk Please thank him for giving permission to share his software.

I need to convert a Hex file to Bin so I can program a particular flash part? Use this Hex2Bin converter.  HEX is incompatible with FLASH memory.  The empty part of the file is best set to all FFs or 00s if there is a sum check involved

T1's TMS2716

This part required 3 supply voltages and can not even be read with out these voltages.
If you HAVE to read it, you can build your own adapter.


A normal (non-TMS) 2716 versus a TMS2716 pins out like this:


<----- normal 2716 -----><---- TMS2716 pin redefinitions ---->

+-----+ +-----+
A7 |1 +--+ 24| VCC <--- Vcc/PE (PE is Program Enable)
A6 |2 23| A8
A5 |3 22| A9
A4 |4 21| VPP <--- Vbb (-5 volts)
A3 |5 20| /OE <--- A10
A2 |6 19| A10 <--- Vdd (+12 volts)
A1 |7 2716 18| /CE <--- S/PGM (chip select/program)
A0 |8 17| D7
D0 |9 16| D6
D1 |10 15| D5
D2 |11 14| D4
GND |12 13| D3
+--------------+

Also see TMS2716.pdf

Odds and ends

Where is the BIN editor for doing EFI computers?

There seems to be some confusion as to what a bin editor is (it might mean something else in the EFI world than in the electronics world?) The programmer comes with a Bin or Hex editor where you can change values of different addresses, but there are no boxes saying this location will set the idle etc. 

Also, the programmer does not include instructions on how to tune up a car ROM. All the programmer will do is put the information in the chip you provide that information from someone else's program. 

Back to Pocket programmer page

Cross list

The below parts may be the same -(according to manufactures cross guides) there may be differences including the programming algorithm used. 

Manufacturer AMD AMIC
Atmel Fujitsu Hitachi Hynix INTEL Mitsu-
bishi
NEC NSC SGS SST ST
micro
TI Toshiba Winbond PINs
prefix AM AE ASD AT MBM HN HY D M5M UPD NM M SST M TMS TC W
32K 2732


2732 2732
2732 27C32 D2732 27C32Q 2732

2732 N/A

64K 27C64


27C64 27C64
27C64 27C64 27C64 27C64Q 27C64

27C64 N/A

128K 27C128


27C128 27C128
27C128 27C128 27C128 27C128Q 27C128

27C128 N/A

256K 27C256

27C256 27C256 27C256
27C256 27C256 27C256 27C256Q 27C256 27SF256 27256 27C256 57256





28HC256













512K 27C512

27C512 27C512 27C512
27C512 27C512 27C512 27C512Q 27C512 27SF512 27C512 27C512 57512 27E512

28F512

29C512







29EE512








49C512







39SF512 29F512

29EE512
1MEG 27C010
29F1008 27C010 27C1001 27C010
27C010 27C101 27C1001 27C010Q 27C1001 27SF010 27C1001 27C010 571000 27E010




29C010


















49F001



28F001




39SF010 29F010

29EE011

28F010

49F010


28F010













29C010







29EE010




2MEG 27C020
29F2008 27C020 27C2001 27C020
27C020 27C201 27C2001 27C020Q 27C2001 27SF020 27C2001 27C020 N/A 27E020

29F002

29C020
49F020
49F002


29F002 28F002



29EE020
39SF020
29F002

29C020
4MEG 27C040


27C4001 27C040
27C040 27C401 27C4001 27C040Q 27C4001

27C040 574000


29F040


29C040
49F040


28F004



28SF040
39SF040
28SF040
29F040


29040

29F040


29F040
29F040





29F040

BM29F040
x16 29F400


29F400
29F400










8MEG
29010 
29001 
290011 















32

29F080


29F080
29F080










x16 29F800


29F800
29F800










16MEG
29002 
290021 















32



















32MEG
29400 
29040A 















32/48
64Meg
29800














48

Transtronics, Inc. 3209 W.9th street
Lawrence, KS 66049
USA

Ph
FAX
Email
WEB

(785) 841 3089
(785) 841 0434
inform@xtronics.com
http://xtronics.com
Bookmark this page

 

Transtronics Home Page
See our line of industrial control electronics
  PLC's Index PC test equipment and EPROM programmer Process Control
Panel meters
Current sensors

Corporate information and privacy statement
(C) Copyright 1994-2007, Transtronics, Inc. All rights reserved
Transtronics® is a registered trademark of Transtronics, Inc.