Simple open-source GPIB controller with AVR processor (with buffers with inverted output , open collectors ( SN7438N , transistors BC547(BC847) +10kOhm ) and with noninverted output(74HC245) , open collector (or emulation using diodes 1N4148 , fix values of the resistors )). May be with forced DAV=low option for some old devices with clone of the GPIB bus . You can rename bus pins for standard bus pin names (for NI488.1, DIO1-DIO8, REN,IFC, EOI, ATN,DAV,NRFD,NDAC ( for negative logic, as for the GPIB bus , 0-high(pull-up only), 1-low ) ) . Some circuits are temporary circuits for optimizing . In this circuit was used modifyed Terentjev's circuit prototype.
For compiling host applications in the Embarcadero BC102 mode you must disable "#define BCC5_FCT 1 //enable for BCC 5.5.1 "
AVR program may be compiled in the WinAVR or in the AtmelStudio 7 with C++ toolchain, for other compilers rebuild program and includes.
For better results you can write .asm-equivalent of this program (after optimizing of this codes and circuits for your hard and host applications).
Some elements are only for emulation , may be abstract, with options (open collector, inverted ) .
(I remove files with bugs )