home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-2.iso / Developer / hardware / dsp / drbub / setup.asm < prev    next >
Encoding:
Assembly Source File  |  1991-09-07  |  3.1 KB  |  115 lines

  1. ; setup script for Todd Day's DSP board
  2. ; must include Todd's standard include files
  3. ; before including this program
  4.  
  5. ; setup.asm
  6. ; setup the SRAMS
  7. ; setup the ssi port to talk to the 5805s
  8. ; setup the sci port to talk to host
  9.  
  10. ; set up mode register
  11. ; LF  **  TM  **  S1  S0  I1  I0
  12. ;  0   0   0   0   0   0   1   1
  13. ;    No loop flag (LF)
  14. ;    No trace mode (TR)
  15. ;    No scaling (Sn)
  16. ;    Mask Interrupts (In)
  17.  
  18.     ori    #$03,mr
  19.  
  20. ; set bus control register for one wait state for X and Y mem (SRAMS)
  21. ; XMEM YMEM PMEM EXIO
  22. ;  $1   $1   $0   $0
  23. ;    Number of wait states for each type of memory
  24.  
  25.     movep    #$1100,x:m_bcr
  26.  
  27. ; set interrupt priority levels
  28. ; SCL1 SCL0 SSL1 SSL0 HPL1 HPL0 **** ****
  29. ;   0    0    1    1    0    0    0    0
  30. ; **** **** IBL2 IBL1 IBL0 IAL2 IAL1 IAL0
  31. ;   0    0    0    0    0    0    0    0
  32. ;    No SCI interrupts {we'll poll} (SCLn=0)
  33. ;    Priority 2 for SSI (SSLn=1)
  34. ;    No Host interrrupts (HPLn=0)
  35. ;    No IRQx interrups (IxLn=0)
  36.  
  37.     movep    #$3000,x:m_ipr
  38.  
  39. ; initialize ssi port
  40. ; setup Control Register A (CRA)
  41. ; PSR WL1 WL0 DC4 DC3 DC2 DC1 DC0 PM7 PM6 PM5 PM4 PM3 PM2 PM1 PM0
  42. ;  0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  43. ;    No prescaler (PMn)
  44. ;    No frame rate (DCn)
  45. ;    Word length = 16 (WL1=1, WL0=0)
  46. ;    No prescaler range (PSR)
  47.  
  48.     movep    #$4000,x:m_cra
  49.  
  50. ; setup Control Register B (CRB)
  51. ; RIE TIE RE TE MOD GCK SYN FSL *** *** SCKD SCD2 SCD1 SCD0 OF1 OF0
  52. ;  0   0   1  1  0   0   1   0   0   0   0    0    0    0    0   0
  53. ;    No output flags (OFn)
  54. ;    SCn and SCK are all inputs (SCxx=0)
  55. ;    Frame length = data word (FSL=0)
  56. ;    Synchronous (SYN=1)
  57. ;    No gated glock (GCK=0)
  58. ;    Normal Mode (MOD=0)
  59. ;    Transmit on Frame Sync (TE=1)
  60. ;    Receive on Frame Sync (RE=1)
  61. ;    No transmit interrupt (TIE=0)
  62. ;    No receive interrupt, yet (RIE=0)
  63.  
  64.     movep    #$3200,x:m_crb
  65.  
  66. ; initialize SCI port
  67. ; setup SCI Interface Control Register (SCR)
  68. ; **** **** TMIE  TIE  RIE ILIE  TE   RE
  69. ;   0    0    0    0    0    0    1    1
  70. ; WOMS  RWU WAKE  SBK **** WDS2 WDS1 WDS0
  71. ;   0    0    0    0    0    0    1    0
  72. ;    1 start-8 data-1 stop (WDS2,WDS1,WDS0=0,1,0)
  73. ;    No send break (SBK=0)
  74. ;    No wake-up (WAKE,RWU=0)
  75. ;    No open-collector output (WOMS=0)
  76. ;    Enable receiver (RE=1)
  77. ;    Enable transmitter (TE=1)
  78. ;    No idle line interrupt (ILIE=0)
  79. ;    No receive interrupt {we'll poll} (RIE=0)
  80. ;    No transmit interrupt (TIE=0)
  81. ;    No timer interrupt (TMIE=0)
  82.  
  83.     movep    #$0302,x:m_scr
  84.  
  85. ; setup SCI Clock Control Register (SCCR)
  86. ;  TCM  RCM  SCP  COD CD11 CD10  CD9  CD8
  87. ;   0    0    0    0    0    0    0    0
  88. ;  CD7  CD6  CD5  CD4  CD3  CD2  CD1  CD0
  89. ;   0    1    0    0    0    0    0    1
  90. ;    We need a baud rate of 4800
  91. ;    Divider = 20,000,000 / (2*1*2*16*4800) = 65
  92. ;    Baud rate really is 4808 (< 0.2% error)
  93. ;    CD11-CD0 = 000001000001
  94. ;    No clock output (COD=0)
  95. ;    No prescaler (SCP=0)
  96. ;    Use internal clock for receive (RCM=0)
  97. ;    Use internal clock for transmit (TCM=0)
  98.  
  99.     movep    #$0041,x:m_sccr
  100.  
  101. ; enable SSI and SCI pins (Port C Control Register - PCC)
  102. ; CC8 CC7 CC6 CC5 CC4 CC3 CC2 CC1 CC0
  103. ;  1   1   1   1   0   1   0   1   1
  104. ;    STD enable (CC8=1)
  105. ;    SRD enable (CC7=1)
  106. ;    SCK enable (CC6=1)
  107. ;    SC2 enable (CC5=1)
  108. ;    No SC1 (CC4=0)
  109. ;    SC0 enable (CC3=1)
  110. ;    No SCLK (CC2=0)
  111. ;    TXD enable (CC1=1)
  112. ;    RXD enable (CC0=1)
  113.  
  114.     movep    #$01EB,x:m_pcc
  115.