I've tried it on hardware.
First, it cannot work without -halfduplex option:
vap@hedgehog:/tmp/lpc21isp-1.69$ ./lpc21isp -detectonly -control -debug
/dev/null /dev/ttyUSB0 38400 12000
Turn on debug.
lpc21isp version 1.69
COM-Port /dev/ttyUSB0 opened...
ioctl get ok, status = 6
ioctl set ok, status = 6
ioctl get ok, status = 6
DTR (1), RTS (1)
ioctl get ok, status = 6
ioctl set ok, status = 4
ioctl get ok, status = 4
DTR (0), RTS (1)
ioctl get ok, status = 4
ioctl set ok, status = 0
ioctl get ok, status = 0
DTR (0), RTS (0)
Synchronizing (ESC to abort).Sending '?'
Answer(Length=14): 'Synchronized(0D)(0A)'
StrippedAnswer(Length=14): ''Synchronized(0D)(0A)'
OK
Sending 'Synchronized(0D)(0A)'
Answer(Length=17): 'Synchronized(0D)OK(0D)(0A)'
Synchronized 1
Setting oscillator
Sending '12000(0D)(0A)'
Answer(Length=10): '12000(0D)OK(0D)(0A)'
No answer on Oscillator-Command
vap@hedgehog:/tmp/lpc21isp-1.69$
I've added -halfduplex option, but now it cannot detect part id:
Read part ID: Sending 'J(0A)'
Answer(Length=16): 'J(0A)0(0D)(0A)637615923(0D)(0A)'
unknown (0x26013F33)
After changing part ID in the table from 0x00013F33 to 0x26013F33:
vap@hedgehog:/tmp/lpc21isp-1.69$ ./lpc21isp -detectonly -control -halfduplex
/dev/null /dev/ttyUSB0 38400 12000
lpc21isp version 1.69
Synchronizing (ESC to abort). OK
Read bootcode version: 1
4
Read part ID: LPC1766, 256 kiB ROM / 64 kiB SRAM (0x26013F33)
vap@hedgehog:/tmp/lpc21isp-1.69$
It detects the part :)
Right now I'm a bit busy, but I will try to program flash after 2-3 hours from
now (i.e. at 16:00 GMT or so) and will report the result.