So if I change the value returned in c080 bit 6 to return 0 instead of 1, it thinks that the bufferpro is attached:

Code
uint8_t a2bus_parallelpro_device::read_c0nx(uint8_t offset)
{
switch(offset){
case 0: return (m_ack == 0 ? 0x0 : 0x80) |
//				0x40 |
				((m_busy ==0 ? 0x00 : 0x01) << 5) |
				((m_perror==0 ? 0x00 : 0x01) << 4) |
				((m_dsw1->read()&0x0f)^0x0f);
default: return 0;
}
return 0;
}

If you take the printer off line, it will display "PRINTER BUSY".

[Linked Image from i.imgur.com]

Then by trying out the different commands to the buffer pro,

[Linked Image from i.imgur.com]

we can establish what commands write to which addresses:

[Linked Image from i.imgur.com]


^IZ clear buffer = write c088,00

^IQ disable buffer = write c082, 44
^IR enable buffer = write c082, 45
^IU pause printing = write c082, 50
^IY resume printing = write c082, 52

test buffer = write C082, 56

Issuing the test buffer command doesn't seem to do anything, probably the buffer will output text to the printer giving the results.