Pulling codes without a code reader is pretty simple.
This FAQ will go through the process of pulling codes, and how this needs to be done.

Here is how to hook up the code reader

There are 2 types of codes.
KOEO -- Key on, engine off
KOER -- Key on engine running

Reading the codes --

The first thing to do before reading codes on your computer is WARM UP. The engine must be warm, even for an accurate KOEO test.
Ford suggests 2 minutes at 2000 RPM, Mike Flemming suggests a 10 minute drive (with extensive use of the accelerator pedal) to be sure everything is up to to temp.

The codes will be displayed on your fancy tester, volt meter, or test light. Reading the codes from the fancy tester is self explanatory, but here is how you read from a test light, or volt meter.

The codes will be displayed as flashes on the light, or needle sweeps on the volt meter. On SVO's all codes will be 2 digit.
Codes are displayed as pulses, with .5 seconds between digits, and 2 seconds between codes. so code 22 would be displayed as :
pulse (.5 seconds) pulse (2 seconds) pulse (.5 seconds) pulse
there would then be a 4 second pause between codes, if more than one is present

In KOEO mode, after current codes are displayed, a pause of 6-9 seconds will occur, and any stored codes will be displayed

What's expected from YOU!

After the engine is warm, and you begin your self test, there will be a series of outputs from the computer. Some of these outputs will be signals that the computer wants something. This section will explain what's required of you.
KOEO tests don't have any expected inputs, so these all refer to KOER tests.

Here are the outputs you will be seeing after you start the engine:
  • You will see 2 pulses, this is a engine ID code, no input is expected.
  • 6-20 seconds later, you will see a single pulse, this is the goose test indicator, you should do the goose test now.
KOEO test codes
(pulls 'current' codes, and codes stored in memory)

(1) Make sure engine is fully warmed. (read above for suggestions)
(2) Turn the engine OFF
(3) Connect the scan tool (whatever it may be) to the self-test connectors.
(4) Turn the ignition switch ON but don't start the engine.
(5) The codes will be transmitted. Six to nine seconds after the last code, a single separator pulse will be transmitted. Six to nine seconds after this pulse, the codes from the Continuous Memory will be transmitted.
(7) Record all service codes displayed.

KOER codes.

(1) Make sure engine is fully warmed. (read above for suggestions)
(2) Turn ignition off. Make sure A/C is off and transmission is in Neutral.

(3) Hook up light and jumper (or tester if you have one).
(4) Set emergency brake, and and start engine.

(5) Engine I.D. should be output.

(6) When goose pulse is received, press accelerator pedal to the floor, wait for the tac to hit 3500 RPM, and release. -- If you want to be sure you don't get a code 25, have a buddy tap the intake a couple times GENTLY with something metal.

(7) Fast Codes are output (ignore, these would be read by a star type reader).

(8) Read codes, as above.

a list of codes follows :