home *** CD-ROM | disk | FTP | other *** search
/ M.u.C.S. Disc 2000 / MUCS2000.iso / sound / mp2 / src / gem / mp2boots.s < prev    next >
Encoding:
Text File  |  1996-10-17  |  1.2 KB  |  82 lines

  1.     import dsp_bootbin
  2.     import dsp_bootlen
  3.     import dsp_codebin
  4.     import dsp_codelen
  5.     export dsp_load
  6.  
  7. dsp_load:
  8.     movem.l    d0-a6,-(sp)
  9.     bsr    dsp_reset
  10.     bsr    dsp_uplbootstrap
  11. ;    bsr    dsp_uplcode
  12. ;    bsr    dsp_start
  13.     movem.l    (sp)+,d0-a6
  14.     rts
  15.  
  16. dsp_reset:
  17.     move.b    #14,$ffff8800.w
  18.     move.b    $ffff8800.w,d0
  19.     and.b    #$ef,d0
  20.     move.b    d0,$ffff8802.w
  21.     or.b    #$10,d0
  22.     move.b    d0,$ffff8802.w
  23.     
  24. ; wait ?
  25.     clr.l    $4ba.w
  26. .wait:
  27.     cmp.l    #10,$4ba.w
  28.     bne.w    .wait
  29.  
  30.     move.b    #14,$ffff8800.w
  31.     move.b    $ffff8800.w,d0
  32.     and.b    #$ef,d0
  33.     move.b    d0,$ffff8802.w
  34.     
  35.     move.b    #$80,$ffffa200.w
  36.     
  37.     rts
  38.     
  39. dsp_uplbootstrap:
  40.     move.l    dsp_bootbin,a0
  41.     move.w    dsp_bootlen,d0
  42.     move.w    #512,d1
  43.     sub.w    d0,d1
  44.     subq.w    #1,d0
  45. .uploadl:
  46.     btst.b    #1,$ffffa202.w
  47.     beq.s    .uploadl
  48.     move.b    (a0)+,$ffffa205.w
  49.     move.b    (a0)+,$ffffa206.w
  50.     move.b    (a0)+,$ffffa207.w
  51.     dbra    d0,.uploadl
  52.  
  53.     subq.w    #1,d1
  54. .paddingl:
  55.     btst.b    #1,$ffffa202.w
  56.     beq.s    .paddingl
  57.     move.b    #0,$ffffa205.w
  58.     move.b    #0,$ffffa206.w
  59.     move.b    #0,$ffffa207.w
  60.     dbra    d1,.paddingl
  61.     rts
  62.     
  63. dsp_uplcode:
  64.     move.l    dsp_codebin,a0
  65.     move.w    dsp_codelen,d0
  66.     subq.w    #1,d0
  67. .uploadl:
  68.     btst.b    #1,$ffffa202.w
  69.     beq.s    .uploadl
  70.     move.b    (a0)+,$ffffa205.w
  71.     move.b    (a0)+,$ffffa206.w
  72.     move.b    (a0)+,$ffffa207.w
  73.     dbra    d0,.uploadl
  74.     rts
  75.     
  76. dsp_start:
  77. .wait:
  78.     btst.b    #1,$ffffa202.w
  79.     beq.s    .wait
  80.     move.l    #3,$ffffa204.w
  81.     rts
  82.