Propeller 2 Documentation Nomenclature?
JonTitus
Posts: 193
in Propeller 2
It would help new users of the Propeller 2 if the documentation (v33) included a Nomenclature section that would explain notation such as:
Final point. The PAD_IO Modes diagram is almost unreadable. Could we have it in black type on a white background? Again, there's no explanation of what these columns mean or how to interpret them.
Thanks. --Jon
D/# S/# WC, WZ, WCZ #S S #D Dand so on. I'm confused and would like to know what these things mean. Also, I have no idea what the following information means. Explanations at the start of these instructions would help.
EEEE 0000000 CZI DDDDDDDDD SSSSSSSSS
Final point. The PAD_IO Modes diagram is almost unreadable. Could we have it in black type on a white background? Again, there's no explanation of what these columns mean or how to interpret them.
Thanks. --Jon
Comments
And Rayman and I have just been improving a block diagram of the I/O to go with that - https://forums.parallax.com/discussion/171420/smartpin-diagram/p1
That first part divides the 32 bit instructions into different bit fields like D..D and S..S (these are destination and source bits, 9 bits each)
Most instructions have a format like: ROR D,S where D is "destination" and S is "source"
You can also add in WC, WZ, WCZ after which is for "write carry flag", "write zero flag", "write both flags" This is also the CZ bits in the binary part on the left.
Assembly instructions can also have a prefix, like "if_c" for "if carry flag is set". This is coded into the EEEE bits in the instruction. See bottom of spreadsheet for how.
The "0000000" is the code for the ROR instruction.
The reason for the # is because source can be either an immediate (actual value) or the number of the register to be used. The I bit decides this.
You might want to look at the assembly section of that for clues...
https://www.parallax.com/sites/default/files/downloads/P8X32A-Web-PropellerManual-v1.2.pdf
As a hardware-mainly guy I'm most interested in the Smart Pins. They are "loaded" with interesting operations. But on the third page in the SMART PINS section, the document notes, "The table below shows the %P..P bits as M[12:0]:"
Wait... on the previous page the document shows five M bits: ...PPP_TT_MMMMM_0
Are we talking about the same "M" bits? Why do two sets of bits have the same notation? Why not stay with P, as in (P[12:0])? This is the type of documentation problem that will drive hobbyists and engineers alike batty.
I've worked as a technical writer and understand the problems people face when they create documents and manuals. It takes time to get the facts straight and then to add text that helps readers. I hope you'll take my comments as helpful and not critical. I hope more information about the smart pins comes out soon.
Cheers. --Jon
Also in that Smartpin diagram M[12:0] means the same as the %P..P bits in other places, not the MMMMM bits in ...PPP_TT_MMMMM_0. The diagram is just old and of sync with the docs. It needs an update, yes.
If P2 is to gain any traction in the market then documentation will have to improve. People are too busy to invest time in a poorly documented product.
I would guess the finished prop2 manual will not include that Pad IO Modes table as is. The information in it will be reformatted to suit WRPIN.
-- https://docs.google.com/document/d/1gn6oaT5Ib7CytvlZHacmrSbVBJsD9t_-kmvjd7nUR6o/edit#heading=h.1h0sz9w9bl25