OBD-II DTC P0505 = "Idle Control System Malfunction"
This means that either the IAC is shot, or there's a wiring fault that's not letting a control system signal get to the IAC, or that (least likely) the IAC control circuit in the PCM is blown.
I usually check for wiring faults first. With OBD-II, it's even money on a wiring fault, and probably 5/3 in favour of the part having failed (just often enough that it should be checked anyhow - but OBD will only tell you which circuit has the fault. It doesn't tell you where the fault is.)
If you don't have an FSM (and why not?) you can look up the DTCs that generally apply to us on my site in the Tech Section (culled from FSMs and TSMs.) If it's not there, let me know (so I can add it!) and look it up online.
If your DTC is of the format "X0yyy", it's an SAE standard code that applies to all vehicles. If it's "X1yyy", it's a vendor-specific code and you will need to provide vehicle information (year and make at the very least) when you search for it online. I've heard there are some "X2yyy" codes out there on very late-model vehicles, but I've not yet seen any.
Again, if you don't see it on the list on my site, do please let me know! Give me the code and the year/model at the very least, I can look it up from there if I have to. You may provide a definition if you like (but don't be surprised - I'm going to check it and cross-reference with a few sources I have anyhow. I'm trying to provide an authoritative technical reference for all of us, and that takes some work to make sure of.)
For the formats I listed above, "y" may be any numerical digit, 0-9. "X" may be any of the following letters:
-> P = Powertrain. Usually engine and transmission (and support systems,) but may include later axle sensors and final drive as well. Some transfer cases are also supported under OBD-II
-> B = Body.
-> C = Chassis. Pretty much anything related to steering or suspension here.
-> U = Undefined. These are codes that don't fit under the three previous classifications, are are generally "network/communications" codes.
"0" (numeral zero) indicates an industry-wide code, as defined by SAE.
"1" (numeral one) indicates an "enhanced" or "vendor-specific" code, not defined by SAE. This is why vehicle information is important.
"2" is something I've heard of, but I've not yet seen. Therefore, possibly apocryphal.
The first "y" digit is numerical:
P01 = Emission Management (Fuel or Air)
P02 = Injector Circuit (Fuel or Air)
P03 = Ignition or Misfire
P04 = Emission Control
P05 = Vehicle Speed & Idle Control
P06 = Computer & Output Circuit
P07 = Transmission
P08 = Transmission
P09 = SAE Reserved
P00 = SAE Reserved
(I've listed them this way because this is where the listing typically applies. B, C, and U codes are broken down another way.)
The last two "yy" digits are also numerical, and are used to give the specific fault in the system.
So, if the code doesn't follow the format of: (P/B/C/U) (0/1) (0-9) (00-99), it may be considered invalid and warrant further investigation.
Uncommonly, some code readers will give the code as a two-digit numerical code (like the old OBD-I setup - and all of the OBD-I codes are manufacturer-specific, BTW...) and it can also be given (rarely) as a two-digit hexadecimal number (each digit may be 0-9/A-F, which gives each single digit a value between 0 and 15 decimal, inclusive. Hexadecimal numbering is based upon powers of sixteen, and is a shorthand for binary. Each hex digit replaces four binary digits - and this makes keeping track of internal computer values much easier.)
Fortunately, the five-digit DTC with the alpha leader is most common among OBD-II interrogators, but I've given all three values where they're known (just on the off chance...)