As result of some HP71B + IL / IL-RSR232 an IL-tape drive (82161A) experiment,
I developed following solution to copy a tape to RS232 without
too much interference of my HP71B.
The 71B is not involved in the copy process! The IL protocol
is moving the data..
5 CALL COPYTAPE @ SUB COPYTAPE
10 CALL RESET
30 T=DEVADDR("TAPE")
40 R=DEVADDR("RS232")
60 SEND LISTEN T MTA DDL 4 DATA 0,0 DDL 3 DATA 0 MLA
65 SEND UNL UNT LISTEN R TALK T DDT 2 DDT 0 RDY 96
70 END SUB
100 SUB RESET
110 RESET HPIL @ RESTORE IO
120 SEND LISTEN
130 SEND IFC SDC IFC SDC
140 END SUB
Line 60: DDL4 0,0 positions the tape on Track 0 and Record 0
DDL 3 0 positions the byte pointer at 0 (thus 0,0,0).
Line 65: DDT 2 reads the current record in buffer 0 of the tapedrive.
subsequent DDT 0 prepares for sending the data from buffer 0 and RDY 96
(is a HP-IL Send Data Command)
Assumptions: Power-up IL/RS232 and Tape Drive to start with default state.
Your PC-RS232 should be configured with 9600,n,8,1 Xon/Xof.
Sources: HP 82161A Cassette Drive Manual, overview DDL/DDT commands
HP 82401A HP-IL Interface Owner's Guide (for the HP 71)
HP 82166A HP-IL Interface Specification: Chapter C.2 for
the required
SDA command (SDA is not in HP-71B/IL available => Thus a RDY 96 ...)
Known Issues: HP-IL communication is not possible during transfer (takes about 10 minutes + a two rewinds)
The copy process can be stopped by pressing the RESET on the IL/RS232 or .... the main switch in the basement.
Your tape drive battery pack should be in top condition, a charger is strongly recommended
The 'receiving' program should tolerate a timeout of
about 7-10 seconds due to a rewind of the tape in the middle of the transfer (track 0 / track 1).
Of course this could be the n-th reinvention of this. Then so be it ... :)
Improvements are welcome!
Best regards
Raymund.