I honestly can't see where I'm going wrong. Here's a rough outline of what I'm doing:

Set SPBRG to 4, for 250Kbaud @ 20Mhz
Enable asynchronous serial port in RCSTA register
Enable transmit in TXSTA register

Then when it comes to sending data, I start with the DMX break by forcing portb.2 on the 16F627 high for 120uS. Following this is a 12uS MAB during which portb.2 is low. I then transmit a zero value for the start code, and then a number of DMX bytes following that.

I've had no success at all so far, I've tried altering the code so that the serial port is disabled during the time that I force it high/low and then enabling again to send data, I've tried removing the 12uS MAB pause completely, and I've also tried sending portb.2 low for the break and high for the MAB instead of the other way round, but the way I see it, this shouldn't be necessary anyway as the line driver will invert the output.

The most frustrating thing is that I have done this before and had it working fine, but have since lost the code when I formatted my computer. I thought the 75176 rs-485 transceiver could be the culprit, but I've tested it as best I can and it appears to be fine. So in short, I'm stumped.