home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / bell212.arc / DINIT1.ASM < prev    next >
Encoding:
Assembly Source File  |  1986-07-25  |  3.2 KB  |  71 lines

  1.        TITL  ' TMS7041 MODEM INITIALIZATION CODE   '
  2.        IDT   'DINIT1'
  3.        OPTION XREF,TUNLST
  4. ************************************************************
  5. **  DINIT1.ASM                                            **
  6. **                                                        **
  7. **  This routine initializes the registers and constants  **
  8. **  of the modem code.                                    **
  9. **                                                        **
  10. **  REVISION  1.0  11/12/85  PETER EHLIG                  **
  11. **  REVISION  1.1   1/28/86  PETER EHLIG                  **
  12. **  REVISION  1.2   5/20/86  PETER EHLIG                  **
  13. **                                                        **
  14. **  COPYRIGHT TEXAS INSTRUMENTS,  07/25/86                **
  15. **                                                        **
  16. ************************************************************
  17. *  DEFINITIONS AND REFERENCES
  18.        DEF  INIT,SETBD
  19.        REF  TOP
  20.        PAGE
  21. *
  22.        COPY DTE2.EQU
  23. *******----------------------------------------*******
  24. *****           Initialization                   *****
  25. *******----------------------------------------*******
  26. INIT   MOVP %>03,IOCNT0       ; s.c. mode and enable
  27. *                             ; ring indicate interrupt
  28.        MOVP %>00,IOCNT1       ; disable int4 and int5
  29.        MOVP %>1C,APORT        ; initialize A port lines
  30.        MOVP %>9C,ADDR         ; set direction of APORT
  31.        MOVP %>FE,BPORT        ; initialize B port lines
  32.        MOVP %>FB,CPORT        ; initialize C port lines
  33.        MOVP %>FF,CDDR         ; set direction of CPORT
  34.        MOVP %>CF,DPORT        ; 320 in command mode, idle
  35.        MOVP %>3F,DDDR         ; D7,D6 INPUT, rest = OUTPUT
  36.        ANDP %NOT6,BPORT       ; Latch data into xmt.buffer
  37.        ORP  %BIT6,BPORT       ; and reset RACK
  38.        MOVP %>00,DDDR         ; Reset DPORT lines in
  39.        MOVP %110,T1DATA       ; Set TIMER1, for 256 Hz
  40.        MOVP %>8A,T1CNTL       ; Start timer, set internal
  41.        MOVP %155,T2DATA       ; set timer 2 for 1000Hz
  42.        MOVP %>81,T2CNTL       ; start timer,use interrupt 2
  43.        MOV  %STACK,B          ; initialize stack pointer
  44.        LDSP                   ; load stack pointer
  45. *
  46.        MOV  %>D0,SWSTAT       ; software flag defaults
  47.        CALL @SETBD            ; set DTE baud rate to 1200
  48.        BR   @TOP              ; RETURN TO CALLING SEQUENCE
  49. *
  50.        PAGE
  51. *******----------------------------------------*******
  52. *****            SET BAUD SUBROUTINE             *****
  53. *******----------------------------------------*******
  54. SETBD  EQU    $
  55.        MOV    %>1D,A            ; SET BAUD CLOCK FOR
  56.        MOVP   A,T3DATA          ; FOR OVERSPEED DTE
  57. SETMOD MOVP   %0,P17            ; Write to P17 to guarantee
  58.        MOVP   %>60,SCTL0        ; we are talking to SCTL0,
  59. *                               ; then reset serial port
  60.        MOVP   B,SMODE           ;
  61.        MOVP   %>15,SCTL0        ;
  62.        MOVP   %>40,SCTL1        ;
  63. *
  64.        MOVP   %BIT6,SCTL0       ; Parity error, no parity
  65.        MOVP   %>6E,SMODE        ; Disable parity of port
  66.        MOVP   %>15,SCTL0
  67.        MOVP   %>40,SCTL1
  68.        RETS
  69. *
  70.        END
  71.