• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

using ic-prog for pic16f84 jdm prog. in windows xp?

Not open for further replies.


New Member
did any one programed pic16f84a with jdm programmer using icprog in windows xp?

how do i do that?


New Member
To raz,
You not need to install any driver, just plag and play.
But you need some setting:
Goto Hardware setting: select your programmer i.e. JMD, select which COM port you are using (for JDM), select Windows API at Interface, blank all the option at Communication. For the I/O Delay, i chiose 5 depend on your PC.

Have a nice day


New Member
more questions

do i need the sys file?

do i need to go to the properties of the icprog.exe and change it to windows nt?


New Member
Dear raz,
If you want to use parallel port then you should copy the .sys in to the folder where your icprog situated. No driver is required for Serial port programmer in Windows Xp...

panic mode

Well-Known Member
I am using P16Pro to program my 16F84A through parallel port (WinXP).
I couldn't get JDM to work on my PC (it could only read but not write).
It worked fine on some other PCs.

If you are using ic-prog, yo DO need to copy the sys driver in the
same directory where ic-prog.exe is. Then you go to meny (ignore
error messages for now) and select Options>Misc and make sure
to put checkmark for "Enable NT/2000/XP driver".
ic-prog.exe will look into own directory for the ic-prog.sys file,
install it and restart application (not the PC just the ic-prog).

After that you can select hardware type of programmer and configure it
(check "Settings for official programmers" on ic-prog website).

panic mode

Well-Known Member
Note that after the driver is installed, you cannot move it to another
directory. It must stay there because after it is installed, there are
bunch of entries in the registry that are looking for original file location.

Jope this helps,


New Member
P16Pro Programmer

I recently purchased the P16Pro40 Programmer to program the PIC16F84A. I've tried using the recommended software, PICALLW. I keep getting verify errors on this program (It says something about buffers...??). After fidling around with the start and end address, I gave up on PICALLW.
I want to try using IC-Prog now, but it doesn't seem to have an install file. Is there a certain directory I have to store the exe file in?


New Member
p16pro40 windows xp

I also have a P16PRO40 connected to a Windows XP laptop, Athlon xp cpu, Parallel port set to EPP (also tried ECP) all of the tests show the correct information Running the PICALLW hardware test gives the correct results. I have tried ic-prog, winpicprog, and picallw and they all return the same results. I can erase and read a blank chip but cannot write. All reads return 3FFF. I receive the same results with no chip in the socket. I have tried several 16F84, and 16F628 chips. I am running out of ideas.

Nigel Goodwin

Super Moderator
Most Helpful Member
Try a different computer - laptops are well known for having non-standard ports, and often won't work with PIC programmers. If it won't work on another computer you may have a hardware problem on the P16PRO40 board. Also a very common cause is too little voltage on the MCLR pin, this prevents the PIC getting switched to programming mode.


New Member
Thanks for the quick reply

I moved it to my desktop pc and have the same results. I measure VPP at about 13.2 V, is this correct. I can't find anything wrong on this board and I have to get this PIC programmed. Would you suggest I get a new programmer and if so which one?

Nigel Goodwin

Super Moderator
Most Helpful Member
Re: Thanks for the quick reply

Syndu said:
I moved it to my desktop pc and have the same results. I measure VPP at about 13.2 V, is this correct. I can't find anything wrong on this board and I have to get this PIC programmed. Would you suggest I get a new programmer and if so which one?
13.2V is fine, but it does need to be fairly ripple free - if you are using an unregulated 'wall wart' power supply it could be that ripple is preventing programming mode.

WinPicProg has toggle buttons on the hardware screen, using these you can toggle all the output lines (and monitor the input line) - do this and check the voltages on the actual PIC pins.

The P16PRO40 is the programmer I recommend, it's a good basic 'enhanced David Tait' type design and works well. Assuming you built it yourself, and it's never worked, I should check very carefully for any errors.


Well-Known Member
You will need the following files: directio.zip (35KB) http://www.talkingelectronics.com/projects/MultiChipPgmr/directio.zip

loaddrv.zip (28KB) http://www.talkingelectronics.com/projects/MultiChipPgmr/loaddrv.zip

I have solved the burning bugs and it appears the problems were to do with running Windows XP and using the "Windows API" option in IC-Prog instead of "Direct IO".
By running a utility called "totalio.sys," (in directio.zip) all applications get full control of the I/O ports and thus IC-Prog works perfectly under Windows XP and Windows 2000, since the IC-Prog driver that is available doesn't work for XP.
How To Use IC-Prog with Widows XP/NT/2000:
You can download a driver for IC-Prog from their website - it is called "icprog.sys" but it is really just a renamed driver originally called "giveio.sys". This utility was written by Dale Roberts as one of a set of utilities to give applications under NT more control over the I/O ports. Clicking on the "Enable NT/2000/XP Driver" check box in the settings will try to install this "icprog.sys". Under XP, it installs but can't be started.
The purpose of this driver is to give an application access to the I/O port but only through the driver. This is because XP, like 2000 and NT, doesn't let you have full access to I/O ports like in 95/98/MS-DOS.
However, there is another way. By using another utility, called "totalio.sys", ALL applications can have full control over the I/O ports, and not through a driver's interface. This means you can let IC-Prog use "Direct I/O" instead of "Windows API (in the "Interface" group of hardware settings) and ignore the "Enable NT/2000/XP Driver" option completely. "totalio.sys" (in theory) should also let any programs which control ports directly to work under XP.

Installing "totalio.sys":
Extract "totalio.sys" from the "directio.zip" file to "C:\Windows\system32\drivers" directory (or equivalent).

Extract "loaddrv.exe" from the "loaddrv.zip" file and run it.
In the edit box, type in the full path to "totalio.sys" eg. "C:\windows\system32\drivers\totalio.sys"
Click "Install".
Click "Start".
Click "OK".

The driver should now be running. You can check this by running "Start->Programs->
Accessories->System Tools->System Information", then clicking on the tree item "System Information->Software Environment->Drivers" and looking for "totalio" in the view on the right.
To start or stop the driver after it has been installed, you could use the "loaddrv.exe" program, or use the following commands in a command prompt:
"net start totalio" to start the driver.
"net stop totalio" to stop the driver.

You could put this in a batch file in the IC-Prog directory, eg.
@echo off
net start totalio
net stop totalio

You can configure the driver to run automatically on startup, but I wouldn't recommend it. You can do this via Device Manager, select "View->Show hidden devices" and look under "Non-Plug and Play Drivers" to find "totalio", look at its properties, and change the startup type from "Demand" to "Automatic" (NOT "Boot" or "System") in the "Driver" tab.
The batch file concept is safest, as you only run the driver when you need to and unload it when you don't need it.

How to configure IC-Prog:
Goto: Settings->Options->Misc. Tab
Uncheck "Enable NT/2000/XP Driver"
Uncheck "Enable Vcc control for JDM" (the help file says it is experimental and not to use it).
Select "Realtime" in the "Process Priority" group. (in theory, this will prevent other CPU-intensive applications from interrupting your burn process).

Goto: Settings->Hardware
Select "JDM Programmer" from "Programmer" dropdown list.
Select "Direct I/O" from "Interface" group.
Uncheck all the check boxes under "Communication".
Select correct COM port.
Move the "I/O Delay" slider to 10. (other values gave errors for me, but this value could be specific to the PC's CPU speed - tweak until you get no read/write errors).
Last edited:


New Member
Yeah, and it keeps comming back. lol. It seems to have cleared its self out after I was finaly able to get into the optoins and change the driver though.
Not open for further replies.

Latest threads

EE World Online Articles