home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ti990.tar.gz / ti990.tar / ti990.set < prev    next >
Text File  |  1988-08-16  |  2KB  |  61 lines

  1. *
  2.        IDT 'SETPDT'
  3. *
  4. * The 931 DSR and CI403 board have been established as the
  5. * mechanisms for any remote system and/or modem connection.
  6. * It may be possible for a 931 port of a CI403 to be in an
  7. * uninitialized state.  This condition results from POWERUP
  8. * occurring without a terminal connected to the port, and/or
  9. * from disconnecting a device from the same port.  Then
  10. * as a task attempts to open the port for I/O, the open hangs
  11. * or fails(e.g. DX10 KERMIT opening the port for remote I/O) -
  12. * even with a modem or remote system connected to the port and with
  13. * proper signals set.  The solution is to set the proper bits in the
  14. * PDT for the device (remote port) forcing the port to be initialized.
  15. * If an address(s) is passed to this routine that is NOT -1, then
  16. * that address is the address of the word that needs to be modified.
  17. * Modification will consist of setting bit 13 in the word(s).
  18. *
  19. *  PROCEDURE SETPDT(WORD1ADDR,WORD2ADDR:INTEGER);EXTERNAL
  20. *
  21. *
  22. * ORIGINAL: PAUL W. MADAUS
  23. *           MARCH 3, 1986
  24. *
  25. BOT    EQU  R9           START OF STACK FRAME
  26. ARG    EQU  >28          BEGINNING OF ARGUMENT LIST
  27. *
  28. ADDR1  EQU  ARG+0        ADDRESS OF FIRST PDT INIT WORD
  29. ADDR2  EQU  ARG+2        ADDRESS OF SECOND PDT INIT WORD
  30. BMASK  EQU  >0004        THE BIT TO SET
  31. *
  32. MAPFIL DATA >4000,0      GOOD ENOUGH TO GET US INTO SYSTEM PDTS
  33. *
  34.        DEF  SETPDT
  35. *
  36.        REF  ENT$S,RET$S  ENTRY AND RETURN ROUTINES
  37. *
  38. SETPDT BL   @ENT$S       BEGIN
  39.        DATA >32          STACK FRAME SIZE
  40. *
  41.        MOV  @ADDR1(BOT),R1  GET THE FIRST PDT WORD ADDRESS
  42.        CI   R1,>FFFF     VALID ADDR - i.e. CHANGE NEEDED?
  43.        JEQ  TRY2         NO - TRY SECOND WORD
  44.        LDS  @MAPFIL      USE SYSTEM AREA MAP FILE
  45.        MOV  *R1,R2       GET PDT WORD
  46.        ORI  R2,BMASK     SET THE BIT
  47.        LDD  @MAPFIL      RELOAD SYSTEM AREA MAP FILE
  48.        MOV  R2,*R1       REPLACE THE MODIFIED PDT WORD
  49. *
  50. TRY2   MOV  @ADDR2(BOT),R1  GET THE SECOND PDT WORD ADDRESS
  51.        CI   R1,>FFFF     VALID ADDR - i.e. CHANGE NEEDED?
  52.        JEQ  BYE          NO - ALL FINISHED
  53.        LDS  @MAPFIL      USE SYSTEM AREA MAP FILE
  54.        MOV  *R1,R2       GET PDT WORD
  55.        ORI  R2,BMASK     SET THE BIT
  56.        LDD  @MAPFIL      RELOAD SYSTEM AREA MAP FILE
  57.        MOV  R2,*R1       REPLACE THE MODIFIED PDT WORD
  58. *
  59. BYE    B    @RET$S       RETURN TO CALLER
  60.        END
  61.