Willem Programmer with GUI. 2013 Latest Version support DDR3,51/PIC MCU,EPROM,EEPROM,FLASH,Willem Eprom Programmer PCB50. EZoFlash is oriented in flash memory programming. More adapters are unique, no functionally equal offered for use with Willem group programmers. Serial memory and PIC microcontrollers are not supported on EZoFlash+4v4. Common Willem eprom programmers group software is used with EZoFlash. SW versions 0.97ja and 0.97d12c3 for EZoFlash+4v4.
External EPROM burners are pretty handy gadgets to have around. They obviously can read and write EPROMS, but often times they will also handle a pile of PIC’s, some AVR’s, and other programmable logic like PAL/GAL and CLPD’s. While you can often find old models floating around for cheap (or free in my case) there are a few issues to be hammered out.Typically the models you’re going to get for a song and a dance are old parallel port models that use software in MS-DOS or Windows and hasn’t been updated since. The software typically bit bangs the port using it like a 1 byte wide GPIO line, and this was a common trick, that is long gone from current operating systems by default.Doug sought to find a solution to, and lots of Google-fu, poking at libraries, and a little code modification he does just that getting his Sivava Willem EPROM programmer working like a champ on a nice new i7 with a parallel port add in card.Posted in Post navigation. Actually there are usb-parallel adapters that have real parallel support. The problem is finding them for sale.
The one made by epson contains the USS725 chipset. That chipset not only support printers but can even connect to ATA hard drives and provides true GP I/O.
It is a shame it is so hard to come by now. I bought several when I took one apart and found out the chipset it uses. Very simple to interface too. It contains an external eprom to load the code to tell it what interface it should be, has usb lines on one side and the other side is straight I/O.Here is a page with more info. Thank you, and I’m glad you’ve worked on the problem as it seems that what works on one machine doesn’t work on another for no apparent reason when it comes to parallel ports.
The more options when it comes to fixing things the better!I made a mistake in my previous post, though – I meant the 64-bit compatible version of inpout32.dll, not io.dll. I think I only got feedback about this alternative DLL working on both 32-bit and 64-bit Windows some time after you published your article, though, so I guess that’s why it didn’t work for you at the time.
An idea I have, but haven’t tried out yet to get the willem working on windows 7 64bit. The willem I’ve got uses portio32, which is a library to access ports. I’ve dealt with portio32 before, when dealing with flashing xbox 360 dvd drives. Since that’s a very common mod which requires direct access to a sata port (via portio), there are guides all over for getting portio64 to work on windows 7 64bit. Here’s a link to the dll:just put it in the same folder as the exe for the program that uses it, or in windowssystem32 (I think). You will also need to disable driver signing to get it to work.I have yet to do this, because I have a lot of old crap that doesn’t work on anything newer than XP (and I didn’t wanna enable test mode in 7 for unsigned drivers), so I just put a second hard drive in my computer and dual boot XP.
It’s an HP with a dual core proc (1.6GHz) and onboard parallel. Pretty decent for $10 too;).
My from a few years ago sparked quite a bit of interest, so I’d like to follow it up with the latest compatibility information I have. First a quick summary:Traditional Willem EPROM programmers require your computer to have a parallel port, and almost no computers today have them. You can find add-on parallel port cards, but a good chunk of today’s software is written to work directly with the parallel port addresses that were found on motherboards of older computers (0x378, 0x278, and 0x3BC).
Add-on PCI/PCI Express/ExpressCard parallel ports don’t use those addresses.Unfortunately, the Willem software only lets you pick from a hardcoded list of addresses to work with. The good news, however, is that it does its port access through a DLL called io.dll. There are replacement versions of io.dll that trick the Willem software into talking to a different parallel port address:.It’s actually a good thing that multiple options exist, because sometimes one option works for someone while the other option doesn’t, and vice versa. I would like to list what I have discovered about the various options available in terms of both hardware and software. Parallel port cardsI have tried a total of four different parallel port cards cards, some of which are hard to find at this time:.
(hopefully this eBay link sticks around — it’s a Shentek part number 33006 if the link breaks).My experience with these is the following. The Syba cards both use Moschip (now ASIX) chipsets, while the Shentek and StarTech cards use Oxford (now PLX Technologies) chipsets.Both of the ASIX-based cards seem to work fine with no messing around needed. I’ve tested them on my desktop computer with Windows 7 64-bit (my DLL) and my laptop with Windows XP (Ben’s DLL).The PLX-based cards throw a couple of curveballs into the picture, though. First of all, their bidirectional control pins (strobe, auto/linefeed, initialize, and select printer) do not have pull-up resistors. This causes a problem because they are open-drain/open-collector outputs, so something needs to pull them up when a high value is needed. Otherwise it’s impossible to use them as outputs — and the Willem programmer uses them as outputs.
The Willem programmer (mine, at least) doesn’t supply its own pull-ups for those pins either. So in order to gain compatibility with those two cards, you will need to add pull-ups somewhere. To get these cards to work, I manually soldered some 10Kohm pull-up resistors for those lines onto my Willem board. It was a pretty ugly hack, though, so I removed the pull-ups after successfully testing it.
Maybe someone can find a cleaner way to do it.I have no idea about full-size PCI Express or PCI cards that use the PLX chipset. Perhaps they would already have the pull-up resistors in place. I’m just not sure.The second issue with the PLX cards is described in the “DLLs” section below. DLLsThe ASIX cards seem to work great with both my DLL and Ben’s DLL, so no further comments are needed here about them.The Oxford cards don’t behave quite so nicely with my DLL. It seems that TVicPort has trouble reading bytes from odd addresses with the PLX cards, even though it has no such trouble with the ASIX cards.
Inpout32 does not have this same issue. I haven’t narrowed down the root problem, but I don’t really care at this point anyway because there’s a fix: if you’re using a PLX chipset, you should use Ben’s DLL instead of mine.The original reason I made my DLL was because I couldn’t get Ben’s DLL to work correctly with 64-bit Windows 7. It seems that Inpout32 is now 64-bit compatible (and signed), so it may be possible to simply stick with Ben’s DLL. If you plan on going that route, I would recommend and grabbing the Inpout32.dll file included with that to go along with Ben’s io.dll. You’ll want to use the 32-bit version even if you’re on a 64-bit operating system.
The reason for that is because the Willem software itself is 32-bit. You may need to run the InstallDriver.exe program included with it to get everything to install correctly, but I’m not an expert at Inpout32.
Testing compatibilityIf you’d like, you can test your parallel port card with my utility. Make sure all of the outputs and bidirectional pins can correctly output both high and low values. Physically check each pin with a voltmeter while you test. Every card I’ve seen so far outputs 3.3V as a high value. If your bidirectional pins don’t appear to output a high value correctly (or you get weird readbacks in the tester utility), the high value may be floating, thus indicating you need pull-up resistors on those pins. Also make sure the input pins read a high value with nothing attached and a low value when you ground them. It’s OK if the control pins don’t work correctly as inputs; the Willem programmer uses them all as outputs. ConclusionThe information available in my original post is still very useful and should help walk you through setting up a Willem programmer with various types of cards. I just wanted to share all of my latest compatibility knowledge in a new post because it was all buried in the comments of my original post. Hi DougJust wanted to say thanks for this info that I’ve needed for what seems like ages.I’ve had a Willem Programmer for about 10 years and when I upgraded my system 4 years ago I was disappointed to find no LPT port on my new motherboard.I bought a cheap WCH352 based PCI parallel card on eBay and failed to get it working, which meant I’ve had to keep a older second tower system running just to program eproms.
Both my systems are still running XP 32bit too.I got the card working with your remapped io.dll and the latest inpout32.dll. Once I’d set the base address to my card’s setting of 0xD000 in io.ini, my programmer started working fine.Next thing is to upgrade to Win 7 64 bit and get it working with that.Cheers, Andy. Doug,I realize this is an older post, but I’ve ran into an issue.
I’ve read through your post about LPT ports and the DLLs you used. The Port Test is the only thing I’ve found that can read the PCIe LPT port I have. Is there any instructions on how you created that utility? I am using VB.NET and trying to send commands to an industrial printer. The actual usage is a parallel to Centronics interface. Everything I’ve tried has failed due to the Port Address limitations, which you seem to have fixed.
Any help or directions would be greatly appreciated.Thanks Trey. The KEE Willem PCB6 works very well for 28F020 chip with included adapter. It took me awhile to get everything setup to work with Win7 64bit home-built computer, Rosewell PCIe add-in parallel port card.
Review jumper settings: J1 toward “bottom” position, J2 to “top” position, J3 to bottom of card, J4 to EPROM side, J5 closed, J6 toward “bottom” of card, J7 toward “top” of card, J9 closed. Printing in PLCC adapter in same orientation as printing on card, in the EPROM chip holder. I used an external 12V supply. Fiddling around with software, I ended up with the 64bit “workaround” provided on the CD that comes with the card, along with updates/alternates provided by your notes.
I also installed/built the Linux geepro counterpart along the way and got that working as well.Operationally, the green EPROM LED comes on with power supply. Yellow PROG LED lights during PC boot (I assume when the computer is testing the parallel port for attached hardware) and when there is chip programming activity. I spent too much time diddling with the parallel port card and software while I had J4 jumper in wrong position, but figured it out just as I was running out of steam. Subscribe. Recent Posts. Categories. (3).
(5). (3). (1). (17).
(6). (11). (4). (4). (17). (2). Archives.
(1). (1). (1). (1). (1).
(3). (1). (1). (1). (3). (1).
(1). (1). (1).
(1). (3). (1). (1). (1).
(1). (1). (1). (3). (1). (1).
(2). (2). (1). (2).
(1). (1).
(3). (1). (1). (2). (3). (1).
(1). (2). (2). (3). (5). Recent Comments. on.
Evan U. On. timdaniels on. RONALD E BEAL on. on.
anon on. bamdad on. on. bamdad on. on.
Spam Blocked.