home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d564 / aload.lha / ALoad / src.lzh / src4 / aloadhug.a < prev    next >
Text File  |  1991-08-24  |  4KB  |  213 lines

  1. *:ts=16
  2.     section    VertB,code
  3.  
  4.     include    "exec/types.i"
  5.     include    "exec/stack.i"
  6.     include    "exec/execbase.i"
  7.     include    "exec/lists.i"
  8.     include    "exec/tasks.i"
  9.     include    "adef.i"
  10.  
  11.     xdef    _VertBServer,_SetBase
  12.     xdef    _SetOldCloseWB,_GetOldCloseWB
  13.     xdef    _SetOldOpenWB,_GetOldOpenWB
  14.     xdef    _WB_BASE_PTR
  15.     xdef    _Old_OpenWB,_Old_CloseWB
  16.     xref    _Update
  17.  
  18.  
  19. _SetBase    move.l    4(sp),_WB_BASE_PTR
  20.     rts
  21. _SetOldOpenWB    move.l    4(sp),_Old_OpenWB
  22.     rts
  23. _SetOldCloseWB    move.l    4(sp),_Old_CloseWB
  24.     rts
  25.  
  26. _GetOldOpenWB    move.l    _Old_OpenWB,d0
  27.     rts
  28. _GetOldCloseWB    move.l    _Old_CloseWB,d0
  29.     rts
  30.  
  31. _VertBServer
  32.     tst.b    WD_s_int(a1)
  33.     beq    next_it
  34.     moveq.l    #0,d0
  35.     move.l    4.w,a0
  36.     move.l    LH_HEAD+TaskReady(a0),a0
  37.     subq.w    #1,d0
  38. loop:
  39.     SUCC    a0,a0
  40.     move.l    a0,d1
  41.     dbeq    d0,loop
  42. endcount
  43.     neg.w    d0
  44.     subq.w    #1,d0
  45.     move.l    4,a0
  46.     move.l    ThisTask(a0),a0
  47.     move.l    a0,d1
  48.     beq    nonew
  49.     cmp.b    #TS_RUN,TC_STATE(a0)
  50.     bne    nonew
  51.     addq.w    #1,d0
  52. nonew
  53.     move.l    4.w,a0
  54.     moveq.l    #1,d1
  55.     add.l    d1,WD_Count_CNT(a1)
  56.     add.l    d0,WD_Ready_CNT(a1)
  57.     sub.w    d1,WD_cnt(a1)
  58.     bpl    next_it
  59.     move.w    WD_End_CNT(a1),WD_cnt(a1)
  60.     tst.b    WD_s_rast(a1)
  61.     bne    next_it
  62.     move.l    a1,-(sp)
  63.     jsr    _Update
  64.     addq.l    #4,sp
  65. next_it
  66.     moveq.l    #0,d0
  67.     rts
  68.  
  69.     xdef    _NewClose
  70.     xdef    _Old_CloseWB
  71.     xdef    _Old_OpenWB
  72.  
  73.  
  74. _NewClose
  75.     movem.l    d0-d7/a0-a6,-(sp)
  76.         move.l      _WB_BASE_PTR(PC),a2       
  77.     move.l    WD_close(a2),a0
  78.     move.l    a0,d0
  79.     beq    noclose
  80.     move.l    a2,-(sp)
  81.     jsr    (a0)
  82.     addq.l    #4,sp
  83. noclose
  84.     movem.l    (sp)+,d0-d7/a0-a6
  85.     move.l    _Old_CloseWB(PC),a0
  86.     jsr    (a0)
  87.     tst.l    d0
  88.     bne    noreopen
  89.     movem.l    d0-d7/a0-a6,-(sp)
  90.                 move.l          _WB_BASE_PTR(PC),a2   
  91.                 move.l          WD_open(a2),a0        
  92.                 move.l          a0,d0                 
  93.                 beq             nosetreopen                
  94.                 move.l          a2,-(sp)              
  95.                 jsr             (a0)                  
  96.                 addq.l          #4,sp
  97. nosetreopen
  98.     movem.l    (sp)+,d0-d7/a0-a6
  99. noreopen    rts
  100.  
  101. _WB_BASE_PTR    dc.l    0
  102. _Old_CloseWB    dc.l    0
  103. _Old_OpenWB    dc.l    0
  104.  
  105.     xdef    _NewOpen
  106. _NewOpen
  107.         move.l      _Old_OpenWB(PC),a0  
  108.         jsr    (a0)
  109.     tst.l    d0
  110.     beq    noallopen
  111.         movem.l     d0-d7/a0-a6,-(sp)
  112.         move.l      _WB_BASE_PTR(PC),a2       
  113.         move.l      WD_open(a2),a0  
  114.         move.l      a0,d0            
  115.         beq         noopen
  116.         move.l      a2,-(sp)         
  117.         jsr         (a0)             
  118.         addq.l      #4,sp         
  119. noopen
  120.     movem.l     (sp)+,d0-d7/a0-a6
  121. noallopen
  122.     rts
  123.  
  124.  
  125.  
  126. AreaMove    equ    -$fc
  127. AreaDraw    equ    -$102
  128. AreaEnd    equ    -$108
  129. Move    equ    -$f0
  130. Draw    equ    -$f6
  131. WritePixel    equ    -$144
  132. SetAPen    equ    -$156
  133. RectFill    equ    -$132
  134.  
  135.     xdef    _CalcShift
  136. _CalcShift
  137.     move.l    4(sp),d0
  138.     swap    d0
  139.     ext.l    d0
  140.     rts
  141.  
  142.     xdef    _FindMaxValue
  143. *    FindMaxValue    (struct WIN_DEF    *wd)
  144. _FindMaxValue    
  145.     move.l    4(sp),a0
  146.     moveq.l    #0,d0
  147.     move.w    WD_buffer_size(a0),d1
  148.     subq.w    #1,d1
  149.     bmi    end_find_loop
  150.     move.l    WD_buffer(a0),a0
  151. find_loop
  152.     cmp.l    (a0)+,d0
  153.     bge    no_new_find_value
  154.     move.l    -4(a0),d0
  155. no_new_find_value
  156.     dbra    d1,find_loop
  157. end_find_loop
  158.     rts
  159.  
  160.     section    ALoadData,data
  161.  
  162.     include    "intuition/intuition.i"
  163.  
  164.     xdef    _WinTagList
  165.     xdef    _SizeFlag
  166.     xdef    _IDCMPFlags
  167.     xdef    _WIN_XPOS,_WIN_YPOS
  168.     xdef    _WIN_WIDTH,_WIN_HEIGHT
  169.     xdef    _TitlePtr
  170.  
  171. FALSE    equ    0
  172. TRUE    equ    -1
  173.  
  174. _WinTagList    dc.l    WA_SizeGadget
  175. _SizeFlag    dc.l    FALSE
  176.     dc.l    WA_DragBar
  177.     dc.l    TRUE
  178.     dc.l    WA_DepthGadget
  179.     dc.l    TRUE
  180.     dc.l    WA_CloseGadget
  181.     dc.l    TRUE
  182.     dc.l    WA_AutoAdjust
  183.     dc.l    TRUE
  184.     dc.l    WA_IDCMP
  185. _IDCMPFlags    dc.l    IDCMP_CLOSEWINDOW
  186.     dc.l    WA_Title
  187. _TitlePtr    dc.l    0
  188.     dc.l    WA_Top
  189. _WIN_YPOS    dc.l    0
  190.     dc.l    WA_Left
  191. _WIN_XPOS    dc.l    0
  192.     dc.l    WA_Width
  193. _WIN_WIDTH    dc.l    256
  194.     dc.l    WA_Height
  195. _WIN_HEIGHT    dc.l    64
  196.     dc.l    WA_DetailPen
  197.     dc.l    0
  198.     dc.l    WA_BlockPen
  199.     dc.l    1
  200.     dc.l    WA_MinWidth
  201.     dc.l    44
  202.     dc.l    WA_MinHeight
  203.     dc.l    32
  204.     dc.l    WA_MaxWidth
  205.     dc.l    1400
  206.     dc.l    WA_MaxHeight
  207.     dc.l    600
  208.     dc.l    TAG_DONE
  209.     dc.l    0
  210.  
  211.     end
  212.  
  213.