I've been using the Basic Stamps, and have been monitoring this list for a week or two. I have no PIC experience... I have an application where I must send out a stream of bits, with a clock, based on the status of a 'ready' line.. What i'm using now, is a PC parallel port and a simple dos 'C' program. It takes a single byte of data from the host, and bit bangs it through the parallel port using two lines. One for data, one for clock.. After it sends out the entire byte, it checks a 'ready' line to ensure its safe to go on. Here is part of the code for the PC Program. 'b' = byte destined to get bit banged out for (i=0; i<8; i++) { masked_b = b; masked_b &= 0x80; masked_b >>= 4; _outp(OUT_PORT,masked_b); masked_b |= 0x10; _outp(OUT_PORT,masked_b); masked_b &= 0x08; _outp(OUT_PORT,masked_b); b <<= 1; } What i'm really looking for, is some logic to take over this bit banging, PLUS adding a larger buffer then the current 1 byte. I would really like to send 8 bits of parallel data via microprocessor bus or parallel port to a PIC, and have the PIC bit bang out the data to my device. A 1k buffer would probably suffice.. perhaps even 512 bytes. The PIC must be able to stream out the 8 bit data it is given at a rate of up to 1 Mbit... Currently, the PC application is able to stream out data, but it hic-ups during disk i/o and other system events. So, is the PIC a suitable choice for this application? If So, which model specifically? What programmer must i acquire in order to program the PIC? Leslie Bester Chief Technical Officer Gallmark Corporation 500-280 Smith St. Winnipeg, MB. R3C 1K2 Contact Specifications: 204-944-1119 (voice office) 204-949-0768 (fax office) 204-933-5164 (pager) 204-229-1082 (cellular) les@gallmark.mb.ca (email) pager@gallmark.mb.ca (email pager) -----BEGIN GEEK CODE BLOCK----- Version: 3.1 dpu(--) s: a- C+++(++++) UL++(++++) P++(+++>) L+++(++++>) E- w++ O M- V PS+ PE Y-- PGP- t@ 5@ X+(++) R(-) tv- b+(++) DI+++ D+ G e h(*) r y+ z ------END GEEK CODE BLOCK------