HILO ALL-07 Adapters and Chip Definitions - Page 1
Forum section: electronics / projects

author: jdgabbard
author_rank: Contributor
timestamp: June 04, 2020, 02:47:51 am
content: I recently acquired an ALL-07 programmer. I didn’t really need it, but the price was right, and it appears to have a quite extensive selection of chips it can program. Not to mention it not only came with the original ISA Parallel card needed to power the programmer over the parallel port. But it also has been modified to use a standard 12v DC is wall wort PSU. It also came with the Diagnostic POD.Now, the disadvantage is this is an older programmer, which to have limited information on it. It came with the PAC-DIP-40, but not the PAC-DIP-48. And it seems many ICs need an adapter. And it seems like HILO Made a separate adapter for essentially every IC they could think of. But again, I can’t seem to find any schematics for these adapters.After skimming through the software package for the device, I did come across the file which appears to have the relevant IC definitions for the various supported IC. This is important, as I would like to program a very specific IC (more on this in a moment). However, I can’t seem to find any information concerning how these definitions are identified.I have an older Win98 machine that I keep for applications such as this. I have successfully tested the programmer and ensure it works.Now on to the issues with programming the specific IC. I have an application where I need to program the MX29L3211. I have a GQ-4x4 and the appropriate ADP-019 v4.1 adapter for this. But it does not properly program these ICs. I’ve complained to MCUMall about this, but from what I can tell, it’s something they don’t really care to fix.This Programmer has the ability to program the MX29L1611, the 16Mbit variant. The Major different is the /WP pin has been replaced with an extra address pin, A20. This is a 8/16bit data bus eeprom, and that is important when we look at the definitions. The format for the IC definition is as follows:2,28,61,0,MX29L1611(PAGE),19,0,13,ADP-MX29L1610-PSAnd2,28,61,0,MX29L1611(WORD),18,0,13,ADP-MX29L1610-PSAnd for a reference, here is the definition for the AT28C256:2,15,12,1,AT28C256/HC256/L,3,0,20,0Now, I am able to deduce three things from this information. First, the adapter board model. This tells me the adapter that I should be basing my own board on. Secondly, that the number right after the IC name and programming mode is the number of address pins. I know this as when in 8bit mode it has 19 address pins, while in Word mode it has 18. And lastly, from looking at other examples, how the programmer treats EEPROMs that do not need an adapter.But there is the mystery, what do the other items identify?As for the adapter design, if I can figure out these definitions, it may be possible to program this IC on this programmer. While only being a DIP40 PAC, I should be able to reduce the needed pins for programming this devices from 44 down to 34. As I can connect the two ground pins, CE and /BYTE to a common ground, and leave D8-D14 unconnected, while D15 becomes the low bit for the address bus. This would allow the adapter to fit into the standard PAC-DIP-40. I just need to figure how the program interprets the definitions so that I can apply the proper settings in my own definition.Anyone ever hack on these things? Any idea as to what I’m looking at with the definitions?

author: PA0PBZ
author_rank: Super Contributor
timestamp: June 04, 2020, 09:46:46 am
content: Not saying it's going to solve your problem but here's a lot of info about the All-07:http://matthieu.benoit.free.fr/hilosystem_all-07_universal_programmer.htm

author: jdgabbard
author_rank: Contributor
timestamp: June 04, 2020, 12:08:26 pm
content: I have looked through the website.. Nothing of use for this particular issue. That said, it looks like he did make a few adapters for unsupported devices, so I have sent an email as well.

author: PA0PBZ
author_rank: Super Contributor
timestamp: June 04, 2020, 12:44:26 pm
content: Found this for an ALL-03 but it looks like it at least partially matches:enum ACCGRP { EPROM=1,EEPROM=2,SERPROM=3,BPROM=4,MPU=5,PLD=6 };typedef struct {int AccGrp; /* device type group (see above) */int AccPrg; /* name of programmmer EXE to use */int AccMfgr; /* offset of manufacturer in the list (0 based) */int ProgMfgr; /* manufacturer # within Programmer EXE */char Name; /* device name */int ProgType; /* device type # within Programmer EXE */int Algo; /* programming algorithm */int AccVpp; /* Vpp (in 0.25V steps) for display by ACCESS */char Adp; /* name of adapter to use (0 if none) */} DEV;/* DEVICE.DAT structure */int NumExes; /* Number of EXEs */int NumMfgrs; /* Number of Manufacturers */int NumDevs; /* Number of devices */int Unk1; /* ?? */int Unk2; /* ?? */int Unk3; /* ?? */char *exes; /* i.e. 'EPP1024W=1.00' is exename and version */char *mfrs; /* i.e. 'ATMEL' */DEV devs; /* i.e. '1,97,9,2,AT32C16,0,4,0,0' means *//* 1: device group 1 -> EPROM *//* 97:98th entry in exes[] *//* 9: 10th entry in mfrs[] *//* 2: EPP1024W.DAT line 2 = 2 (mfr# for EXE) *//* 'AT32C16' device name *//* 0: EPP1024W.DAT line 3 = 0 (dev# for EXE) *//* 4: EPP1024W.DAT line 4 = 4 (algo# for EXE) *//* 0: VPP (0 -> not shown in ACCESS) *//* 0: no adapter needed *//* in DEVs following sort order applies: *//* ------------------------------------- *//* 1st: devicegroup *//* 2nd: manufacturer *//* 3rd: devicename (alphanumerical) *//* xxxxx.DAT structure */char addr; /* 0..F : 0x200 + addr*16 (device base address) */int mfg; /* mfr# within exe */int dev; /* dev# within exe */int algo; /* algorithm # within exe */

author: jdgabbard
author_rank: Contributor
timestamp: June 04, 2020, 04:11:17 pm
content: That is actually SUPER helpful. I’m sure it’s a little different from the 07 definitions. But it at least tells me what I should be looking at.Unfortunately, it doesn’t appear to have any definitions for pins used. I.e. Pin 20= GND, etc. which is what I though I was looking at (as pin 13 down from the top is GND, and would be on this if you lop off the top two rows of the IC, same on the 28C256, pin 20 is its ground when you place it in the socket).But it does give me some information to go on. Looks like I’m going to have to learn some x86 assembly and decompile the executables to see what those algorithms are. I’ll need to make some changes, as I’m assuming they don’t know to count to 32mbit. Also without any information on the pinout, I’ll need to figure out where it’s assigning those pins. This shouldn’t be too hard for me, as I do understand 8080 and z80 assembly. I should be able to adjust once I know the mnemonics and registers.I have an email out to the guy that has the website mentioned above. Seems like an older website, so I hope he still checks that email address. I’m going to take a look at his adapters to see if he included any of the source code for the adapters he built.

author: PA0PBZ
author_rank: Super Contributor
timestamp: June 04, 2020, 06:36:38 pm
content: Did you notice the zip file I attached in my previous post? It looks like the pin definitions are in the .exe files.

author: jdgabbard
author_rank: Contributor
timestamp: June 04, 2020, 07:02:03 pm
content: I did. However, I haven’t had a chance to look at them yet

author: usefi5961
author_rank: Newbie
timestamp: August 03, 2020, 03:17:48 pm
content: Hi dear members:I have all07A programmer that when I want program m48t02 timekeeper I can't and programmer have error. but in reading no problem.anyone can tell me how can i read buffer and without changing buffer write to another m48t02.