To use throwback (as a client) you need the DDEUtils module and an editor which supports throwback. There are three SWIs:
DDEUtils_ThrowbackStart (&42587)
Entry: Don't Care
Exit: All registers preserved
Function: Start a throwback session
DDEUtils_ThrowbackSend (&42588)
R2-R5 variable
R0 = 0 (Throwback_ReasonProcessing) R2 = pointer to full pathname of file (null terminated)
R0 = 1 (Throwback_ReasonErrorDetails) R2 = pointer to full pathname of file (null terminated) R3 = error line number R4 = severity: = 0 for warning = 1 for error = 2 for serious error R5 = pointer to error description string (null terminated)
R0 = 2 (Throwback_ReasonInfoDetails) R2 = pointer to full pathname of file (null terminated) R3 = line number to which info message refers R4 = 0 R5 = pointer to informational message (null terminated)
Exit: R0-R4 preserved
Function: Call once with reason code 0, and then with code 1 or 2 for
each error/message
DDEUtils_ThrowbackEnd (&42589)
Entry: Don't Care
Exit: All registers preserved
Function: End a throwback session
All three SWIs can give errors of "No task registered for throwback" and "Throwback not available outside the desktop" (no error numbers given).