Ok so after hours of troubleshooting I was finally able to find a way to use my USBasp on Windows 10 and Arduino 1.8, the USBasp is in the list of upload methods but apparently it's no longer supported properly by Arduino.
1 - download Zadig at https://zadig.akeo.ie, list all devices with USBasp plugged in, select the driver libusbK (v3.1.0.0) and install
3 - compile your sketch with arduino with verbose output and try to upload, copy the line where avrdude is called, looks like :
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:C:\Users...\AppData\Local\Temp\arduino_build_829646/yourprogramname.ino.hex:i
4 - run command prompt in windows 10 and go to C:\Program Files (x86)\Arduino\hardware\tools\avr\bin folder using cd command
5 - run the line : avrdude -Cavrdude.conf -v -patmega328p -cusbasp -Pusb -Uflash:w:C:\Users...\AppData\Local\Temp\arduino_build_829646/yourprogramname.ino.hex:i
I have USBasp v2.0, in Arduino IDE it's not listed in the ports, and when I try to upload it automatically assign some random COM port number in AVRdude, then is unable to open it.
Using Port : COM4
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't open device "\.\COM4"
Also not sure why it says using programmer "arduino", since "USBasp" is the one selected.
Surely the whole point of using a programmer is that it does not use a COM port
Using IDE 1.8.13 or IDE 2.0.0-rc9.2 I can upload to a Nano using "Upload Using Programmer" with Nano selected as the target and USBasp as the programmer
Yes I selected the correct target and programmer, I think the problem is I selected Arduino nano, because that's the only way to select ATmega368p that I know of, and Arduino automatically assumes I have to use a serial port.
I recognize the need for using Zadig for replacing the WinUsb driver with another one, but after that USBASP works on any AVR I use, except the new Attiny's that need a UPDI programmer.
I did add "minicore" (by MCUDude) from the boardsmanager, as I find that more flexible in selecting the processor and upload method. Especially when using newer bootloaders.
I also updated to the latest USBASP firmware in the adapter itself, but that was for programming Attiny10 with it.
Windows10, 12 different Portable IDE installations from 1.05 to 1.8.18