2 - Forth Interest Group
2 - Forth Interest Group
2 - Forth Interest Group
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
tion 0040:0008 will contain the least significant byte, and<br />
location 0040:0009 will contain the most significant byte.<br />
This is the address you will be using to send data to the<br />
printer port (LPTl). If the address is 0000, you have no<br />
parallel printer card in the system. To check continuity to<br />
your port, we can conduct a short test. Let's suppose your<br />
port address was shown to be 378 hex. We can write a byte<br />
to it and read it back to see if it matches what we wrote.<br />
Type the following words:<br />
HEX<br />
: WRITE 378 PC! ;<br />
: READ 378 PC@ . ;<br />
To write the byte FF to the port, type:<br />
FF WRITE<br />
To read that byte back, type:<br />
READ ----- > FF<br />
Try again with different values:<br />
00 WRITE<br />
READ ----- > 00<br />
The results we get indicate continuity to the printer card.<br />
Building the Interface Hardware<br />
The next step is to build the interface cable and LED<br />
readout display. All components needed are available at<br />
your local Radio Shack or electronics supply outlet. Here<br />
is a list of materials:<br />
1 Solder-type DB25 male connector (276-1 547)<br />
30 ft. #22 gauge stranded hook-up wire (278-1296)<br />
1 Multipurpose breadboard (2761 50)<br />
8 470 ohm 1/4 watt resistors (271-1317)<br />
8 Red LEDs<br />
6 Plastic tie wraps<br />
Took needed:<br />
Pencil-type soldering gun<br />
Rosin-core solder<br />
Wire strippers/cutters<br />
Measure and cut nine pieces of wire, each three feet<br />
long. Strip both ends of the wire and tin. Solder a wire to<br />
each pin of the DB25 connector, as indicated below.<br />
DB25 Pin#<br />
2 0 (least significant bit)<br />
3 1<br />
4 2<br />
5 3<br />
6 4<br />
7 5<br />
8 6<br />
9 7 (most significant bit)<br />
25 Ground<br />
The DB25 connector should have nine wires attached<br />
to it on pins 2-9 and 25. Attach tie wraps, equally spaced<br />
along the cable, to keep the wires bunched together.<br />
Install and solder the eight LEDs onto your breadboard.<br />
Mount them all in a row, with ample space between them<br />
so they are not crowded together. The LEDs are polarity<br />
sensitive, so they all must be installed in the same direction<br />
to function properly. The cathodeis identified by the flat<br />
spot on the rim of the LED. If the LEDs are new and have<br />
not been trimmed, the cathode lead will be the longer of<br />
the two. All the cathodes will be commoned together and<br />
connected to ground (pin 25).<br />
Install and solder a 470 ohm resistor above each LED,<br />
as indicated in the drawing [seepages 25241. One side of<br />
each resistor will be connected to the anode of the LED<br />
below it. The other side of each resistor will be connected<br />
to the appropriate wire from the printer port.<br />
Lay the board down in the position in which you are<br />
normally going to view it. To stay with convention, the<br />
LED on the far rightof the board will be the least significant<br />
bit. Solder the wire from pin #2 of the DB25 connector to<br />
the resistor feeding this LED. Continue from right to left,<br />
soldering wires pin #3 - #3 to each resistor, the last being<br />
the most significant bit. Finally, solder the wire from pin<br />
#25 to common cathode bus (ground).<br />
We can test the board before hooking it up to your<br />
computer, to ensure that it works properly. To do this, we<br />
need a standard 9 Volt battery and a battery clip with<br />
power leads. Attach the battery to the battery clip. Clip the<br />
black wire (neg.) to pin #25 on the DB25 connector. With<br />
the red wire (pos.), touch pins #2 through @ on the DB25<br />
connector; each corresponding LED from right to left<br />
should light up. After testing, remove battery from clip,<br />
and disconnect the black wire.<br />
If the board does not function properly, recheck wiring<br />
from the DB25 connector to the board. Check the polarity<br />
of all LEDs, and make sure all connections look good and<br />
that there is no solder bridging the copper traces. If the<br />
board looks correct, clean the copper traces with alcohol<br />
and a stiff bristle brush to remove dirt and excess flux.<br />
With the board functioning properly, we can connect<br />
it to our computer. Plug the DB25 connector into your<br />
parallel printer port and turn on the computer. While it is<br />
booting up, you will see some of the LEDs turning on. This<br />
is normal, as the computer is searching for active printer<br />
ports. Run F-PC, and at the "ok" prompt, type FLOAD<br />
FCONTROL . SEQ. FCONTROL.SEQ automatically searches<br />
for an active LPTl port and assigns the port address to the<br />
constant #PORT. If no active port is found, the error<br />
message "Parallel printer port not found" will be dis-<br />
played. If no errors are encountered, we can try some<br />
control words.<br />
Type ALL-ON All the LEDs should come on.<br />
Type KILL All the LEDs should go off.<br />
In the following section, we will walk through the<br />
FCONTROL.SEQ code to see what makes it tick.<br />
<strong>Forth</strong> Dimensions 19 July 1995 August