home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / MIDICOM.LZH / MCTALK_3.9 / SOURCEN / STADPAK.S < prev   
Text File  |  1992-06-28  |  4KB  |  122 lines

  1. DO_PM85:        movem.l D3-D5,-(SP)
  2.                 move.w  #$7D00,D0
  3.                 clr.w   D1
  4.                 move.b  (A0)+,D1
  5.                 clr.w   D2
  6.                 move.b  (A0)+,D2
  7.                 clr.w   D3
  8.                 move.b  (A0)+,D3
  9. L10214:         clr.w   D4
  10.                 move.b  (A0)+,D4
  11.                 cmp.w   D4,D1
  12.                 bne.s   L10220
  13.                 move.w  D2,D4
  14.                 bra.s   L10230
  15. L10220:         cmp.w   D4,D3
  16.                 bne.s   L10236
  17.                 clr.w   D4
  18.                 move.b  (A0)+,D4
  19.                 tst.w   D4
  20.                 bne.s   L10230
  21.                 tst.b   (A0)
  22.                 beq.s   L1024A
  23. L10230:         clr.w   D5
  24.                 move.b  (A0)+,D5
  25.                 bra.s   L1023E
  26. L10236:         move.b  D4,(A1)+
  27.                 subq.w  #1,D0
  28.                 ble.s   L1024A
  29.                 bra.s   L10214
  30. L1023E:         move.b  D4,(A1)+
  31.                 subq.w  #1,D0
  32.                 ble.s   L1024A
  33.                 subq.w  #1,D5
  34.                 bge.s   L1023E
  35.                 bra.s   L10214
  36. L1024A:         movem.l (SP)+,D3-D5
  37.                 rts
  38. DO_PM86:        movem.l D3-D5/A2,-(SP)
  39.                 subq.w  #2,SP
  40.                 move.w  #$7D00,D0
  41.                 move.w  #$0190,D1
  42.                 movea.l A1,A2
  43.                 movea.l A2,A1
  44.                 clr.w   D2
  45.                 move.b  (A0)+,D2
  46.                 move.w  D2,(SP)
  47.                 clr.w   D3
  48.                 move.b  (A0)+,D3
  49.                 clr.w   D4
  50.                 move.b  (A0)+,D4
  51. L10270:         clr.w   D5
  52.                 move.b  (A0)+,D5
  53.                 cmp.w   (SP),D5
  54.                 bne.s   L1027C
  55.                 move.w  D3,D5
  56.                 bra.s   L1028C
  57. L1027C:         cmp.w   D5,D4
  58.                 bne.s   L10292
  59.                 clr.w   D5
  60.                 move.b  (A0)+,D5
  61.                 tst.w   D5
  62.                 bne.s   L1028C
  63.                 tst.b   (A0)
  64.                 beq.s   L102B2
  65. L1028C:         clr.w   D2
  66.                 move.b  (A0)+,D2
  67.                 bra.s   L10294
  68. L10292:         clr.w   D2
  69. L10294:         move.b  D5,(A1)
  70.                 subq.w  #1,D0
  71.                 ble.s   L102B2
  72.                 subq.w  #1,D1
  73.                 ble.s   L102A4
  74.                 lea     $50(A1),A1
  75.                 bra.s   L102AC
  76. L102A4:         addq.w  #1,A2
  77.                 movea.l A2,A1
  78.                 move.w  #$0190,D1
  79. L102AC:         subq.w  #1,D2
  80.                 bge.s   L10294
  81.                 bra.s   L10270
  82. L102B2:         addq.w  #2,SP
  83.                 movem.l (SP)+,D3-D5/A2
  84.                 rts
  85. CONVERT:        move.l  A2,-(SP)
  86.                 move.l  A3,-(SP)
  87.                 movea.l A0,A3
  88.                 jsr     PHYSBASE(PC)
  89.                 movea.l A0,A2
  90.                 cmpi.l  #$704D3835,(A3)
  91.                 bne.s   L102DA
  92.                 movea.l A2,A1
  93.                 lea     4(A3),A0
  94.                 jsr     DO_PM85(PC)
  95.                 bra.s   L102EC
  96. L102DA:         cmpi.l  #$704D3836,(A3)
  97.                 bne.s   L102F0
  98.                 movea.l A2,A1
  99.                 lea     4(A3),A0
  100.                 jsr     DO_PM86(PC)
  101. L102EC:         moveq   #1,D0
  102.                 bra.s   L102F2
  103. L102F0:         clr.w   D0
  104. L102F2:         movea.l (SP)+,A3
  105.                 movea.l (SP)+,A2
  106.                 rts
  107. PHYSBASE:       move.l  A2,-(SP)
  108.                 move.w  #2,-(SP)        ;physbase
  109.                 trap    #$0E            ;XBIOS
  110.                 addq.w  #2,SP
  111.                 movea.l D0,A0
  112.                 movea.l (SP)+,A2
  113.                 rts
  114. RETADR:         DC.L 0
  115. GETSTAD:        move.l  (SP)+,RETADR
  116.                 movea.l (SP)+,A0
  117.                 bsr.s   CONVERT
  118.                 movea.l RETADR(PC),A0
  119.                 jmp     (A0)
  120.  
  121.                 END
  122.