Juno FDxICSP 1.0 - AVR910 Read back ISP Programmer - devcode Explanation AVR Hack universal command
AVR910 is retarded in many levels, but it's salvageable still. I have 80% confidence to get it working with 90% of the avr MCU.
AVR910 uses this arbitrary devcode to identify target MCU, and so it supports only 127 MCUs with serial mode, 255 with parallel mode, but only few MCU are given a devcode, so there are just panic level confusion. What is the point of this devcode anyway? The host program needs to know what MCU to program, so it can supply the correct commands to program the target MCU, but this would be very slow, issuing long commands to read back one byte for instant is not good. Therefore the ISP programmer program itself should handle the algorithm to write to and read from the target MCU, and it can only do so by knowing what MCU it's programming, so in short, this devcode is just a simplified version of the 3 signature bytes for the programmer to supply the correct algorithm to address the connected targeted MCU. Does that make any sense?
The correct way or non-retarded way to do so would be letting the programmer send back the target MCU's signature bytes to the host, and then after the host decodes the signature bytes, and send back the required algorithm code to the programmer, then normal data exchange can commence. It turns out that, it's very easy to decode the signature bytes that the programmer can do that by itself.
PS. The very slow fuse readback speed is due to a typo, and it has since been fixed. Fuse read back is fast.
################################
Host to Programmer: (read fuse)
53 56 76 70 61 62
SV vp ab
74 54 77 50 73
tT(w) Ps
(New universal command)
2E 50 00 00 00
2E 50 00 00 00
2E 50 00 00 00
2E 58 08 00 00
2E 58 08 00 00
2E 58 08 00 00
2E 50 00 00 00
2E 50 00 00 00
2E 50 00 00 00
2E 50 00 00 00
2E 58 08 00 00
2E 58 08 00 00
2E 58 08 00 00
4C
################################
Programmer to host: (read Fuse)
46 44 78 49 43 53 50 --FDxICSP
31 30 46 44 53 59 59 00 20
10 FD SY Y(k)(k)
77 00 0D 0D
(w)0 (k)(k)
07 90 1E
signature bytes
72 0D
72 0D
72 0D
0D 0D 0D
72 0D
72 0D
72 0D
72 0D
0D 0D 0D 0D
################################