Programming for the IBM PC FujiNet

The IBM PC FujiNet is being developed to use several physical interfaces. While initially we will be providing an RS-232-C version, we also want to do versions that work over parallel port, as well as ISA interfaces, including the sidecar ISA on the IBM PCjr. Because it’s not desirable that specific versions of FujiNet programs would need to be written or compiled for these specific interfaces, it was decided to implement a FujiNet BIOS interface that hooks into software interrupt (INT) F5.

MOV AH,00
MOV AL,70
MOV CL,FF
INT F5

This interface is loaded into memory via the FUJINET.SYS driver placed in CONFIG.SYS. This device driver not only provides the MS-DOS interface to FujiNet’s virtual disk drives giving each drive slot its own drive letter, it also provides the INT F5 service.

DEVICE=FUJINET.SYS FUJI_BPS=9600 FUJI_PORT=2

Once the driver is loaded, commands can be sent to the FujiNet via the INT F5 trap, such as this snippet of assembler to send a RESET to the FujiNet:

MOV AH,00                ; Command type: No Payload
MOV AL,70 ; send to FUJI sub-device
MOV CL,FF ; Send Reset command ($FF)
INT F5 ; Do it. Return value is 'C' in AL
MOV AH,4C ; Select Return to DOS command
INT 21 ; Execute DOS service, Exit.

More information can be found about this programming interface, in our wiki:

https://github.com/FujiNetWIFI/fujinet-firmware/wiki/MS%E2%80%90DOS-BIOS-Specification