--------t-144000----------------------------- INT 14 - I1541 - INSTALLATION CHECK AX = 4000h Return: AX = 1541h BH = I1541 major version (BCD) BL = I1541 minor version (BCD) CX = 0000h --------t-144001----------------------------- INT 14 - I1541 - TEST IF 1541 CABLE CONNECTED AX = 4001h Return: CF clear if connected BL = LPT number where 1541 cable is connected (1..3) CF set if cable not connected Note: this procedure scans all the LPT ports searching the adapter cable --------t-144002----------------------------- INT 14 - I1541 - SELECT LPT PORT FOR OUTPUT AX = 4002h BL = LPT number (1..3) Return: CF clear if successful CF set otherwise Note: force the input output routines to work on the cable placed on LPT BL SeeAlso: AX=4001h --------t-144003----------------------------- INT 14 - I1541 - RESET ALL DEVICES AX = 4003h Note: This routine sends a reset pulse of 100ms to all CBM devices. It's necessary to wait ~2s after reset before executing other instructions. --------t-144004----------------------------- INT 14 - I1541 - SEND LISTEN SIGNAL AX = 4004h BH = device number (0..15) Return: CF clear if successful CF set if error AL = error number 00h : device not present error 01h : listener not ready error 02h : missing eoi time-out 03h : eoi not completed 04h : data not released 05h : frame error SeeAlso: AX=4005h/4006h --------t-144005----------------------------- INT 14 - I1541 - SEND SECONDARY ADDRESS FOR LISTEN AX = 4005h BL = channel number 0..15 (bits 0-3) mode (bits 4-7) 6h : read and write Eh : close channel Fh : open channel Return: CF clear if successful CF set if error AL = error number 00h : device not present error 01h : listener not ready error 02h : missing eoi time-out 03h : eoi not completed 04h : data not released 05h : frame error SeeAlso: AX=4004h/4006h --------t-144006----------------------------- INT 14 - I1541 - SEND UNLISTEN SIGNAL AX = 4006h Return: CF clear if successful CF set if error AL = error number 00h : device not present error 01h : listener not ready error 02h : missing eoi time-out 03h : eoi not completed 04h : data not released 05h : frame error SeeAlso: AX=4004h/4005h --------t-144007----------------------------- INT 14 - I1541 - SEND TALK SIGNAL AX = 4007h BH = device number (0..15) Return: CF clear if successful CF set if error AL = error number 00h : device not present error 01h : listener not ready error 02h : missing eoi time-out 03h : eoi not completed 04h : data not released 05h : frame error SeeAlso: AX=4008h/4009h --------t-144008----------------------------- INT 14 - I1541 - SEND SECONDARY ADDRESS FOR TALK AX = 4008h BL = channel number 0..15 (bits 0-3) mode (bits 4-7) 6h : read and write Eh : close channel Fh : open channel Return: CF clear if successful CF set if error AL = error number 00h : device not present error 01h : listener not ready error 02h : missing eoi time-out 03h : eoi not completed 04h : data not released 05h : frame error 40h : turn around time-out SeeAlso: AX=4007h/4009h --------t-144009----------------------------- INT 14 - I1541 - SEND UNTALK SIGNAL AX = 4009h Return: CF clear if successful CF set if error AL = error number 00h : device not present error 01h : listener not ready error 02h : missing eoi time-out 03h : eoi not completed 04h : data not released 05h : frame error SeeAlso: AX=4007h/4008h --------t-14400A----------------------------- INT 14 - I1541 - SEND A BYTE TO A DEVICE AX = 400Ah BL = byte to send CL = is the last byte 00h : if the byte to send is not the last 01h : if the byte to send is the last Return: CF clear if successful CF set if error AL = error number 00h : device not present error 01h : listener not ready error 02h : missing eoi time-out 03h : eoi not completed 04h : data not released 05h : frame error SeeAlso: AX=400Bh --------t-14400B----------------------------- INT 14 - I1541 - RECEIVE A BYTE FROM A DEVICE AX = 400Bh Return: CF clear if successful AL = byte received CL = is the last byte 00h : if the received byte is not the last 01h : if the received byte is the last CF set if error AL = error number 80h : eoi response required error 81h : talker not ready 82h : clock not set 83h : clock not released CL = 00h SeeAlso: AX=400Ah --------t-14400C----------------------------- INT 14 - I1541 - WAIT AX = 400Ch CX = number of 838ns ticks (1/1.193180MHz) to wait (0 means 65536 (~55ms)) Example: To wait 10us you must set CX=(10us/838ns)=12 --------t-14400D----------------------------- INT 14 - I1541 - LONGWAIT AX = 400Dh DX:CX = number of 838ns ticks (1/1.193180MHz) to wait (0 means 4294967296 (~1Hour)) Example: To wait 1s you must set DX:CX=(1s/838ns)=1193180 --------t-14400E----------------------------- INT 14 - I1541 - GET INFO AX = 400Eh Return: AX = LPT port i/o address in use (0 if no cable in use) BL = LPT number (1..3) in use (0 if no cable in use) CF set if the cable is auto detectable CF clear if cable not auto detectable or not present Note: The CF set means that the auto detect routine can recognise the presence of a cable on the LPT port in use.