home *** CD-ROM | disk | FTP | other *** search
/ Dave Lowe: Assempro 1987.07.12 / Lowe_Assempro_1987_07_12.img / TOS / TOS.S < prev    next >
Encoding:
Text File  |  1985-11-20  |  3.3 KB  |  213 lines

  1. ;***************  GEM  ***************
  2.  INCLUDE GEMDOS.S
  3.  INCLUDE BIOS.S
  4.  INCLUDE XBIOS.S
  5.  INCLUDE VDI.S
  6.  INCLUDE AES.S
  7.  NOLIST
  8. MU_KEYBD   =1
  9. MU_BUTTON  =2
  10. MU_M1      =4
  11. MU_M2      =8
  12. MU_MESAG   =16
  13. MU_TIMER   =32
  14. MN_SELECTED=10
  15. WM_REDRAW  =20
  16. WM_TOPPED  =21
  17. WM_CLOSED  =22
  18. WM_FULLED  =23
  19. WM_ARROWED =24
  20. WM_HSLID   =25
  21. WM_VSLID   =26
  22. WM_SIZED   =27
  23. WM_MOVED   =28
  24. WM_NEWTOP  =29
  25. AC_OPEN    =30
  26. AC_CLOSE   =31
  27. G_BOX      =20
  28. G_TEXT     =21
  29. G_BOXTEXT  =22
  30. G_IMAGE    =23
  31. G_PROGDEF  =24
  32. G_IBOX     =25
  33. G_BUTTON   =26
  34. G_BOXCHAR  =27
  35. G_STRING   =28
  36. G_FTEXT    =29
  37. G_FBOXTEXT =30
  38. G_ICON     =31
  39. G_TITLE    =32
  40. NONE       =0
  41. SELECTABLE =1
  42. DEFAULT    =2
  43. EXIT       =4
  44. EDITABLE   =8
  45. RBUTTON    =16
  46. LASTOB     =32
  47. TOUCHEXIT  =64
  48. HIDETREE   =128
  49. INDIRECT   =256
  50. NORMAL     =0
  51. SELECTED   =1
  52. CROSSED    =2
  53. CHECKED    =4
  54. DISABLED   =8
  55. OUTLINED   =16
  56. SHADOWED   =32
  57. WF_KIND    =1
  58. WF_NAME    =2
  59. WF_INFO    =3
  60. WF_WORKXYWH=4
  61. WF_CURRXYWH=5
  62. WF_PREVXYWH=6
  63. WF_FULLXYWH=7
  64. WF_HSLIDE  =8
  65. WF_VSLIDE  =9
  66. WF_TOP     =10
  67. WF_FIRSTXYWH=11
  68. WF_NEXTXYWH=12
  69. WF_NEWDESK =14
  70. WF_HSLSIZE =15
  71. WF_VSLSIZE =16
  72. GEM_INIT:MACRO
  73.  MOVE.L  4(A7),A5 ;START OF BASEPAGE
  74.  MOVE.L  $C(A5),D0
  75.  ADD.L   $14(A5),D0
  76.  ADD.L   $1C(A5),D0
  77.  ADD.L   #1800,D0 ;FÜR STACK UND BASEPAGE
  78.  ANDI.B  #$FE,D0
  79.  LEA     -104(A5,D0.L),A7
  80.  SETBLOCK D0,(A5)
  81.  MOVE.L  A7,A3
  82.  LEA     VDIPB+20,A7
  83.  PEA     PTSOUT
  84.  PEA     INTOUT
  85.  PEA     PTSIN
  86.  PEA     INTIN
  87.  PEA     CONTRL
  88.  PEA     ADDROUT
  89.  PEA     ADDRIN
  90.  PEA     INTOUT
  91.  PEA     INTIN
  92.  PEA     GLOBAL
  93.  PEA     CONTRL
  94.  PEA     VDIPB
  95.  PEA     AESPB
  96.  MOVE.L  A3,A7
  97.  APPL_INIT AP_ID
  98.  GRAF_HANDLE GR_HANDLE
  99.  V_OPNVWK WORK_IN,HANDLE,WORK_OUT
  100.  ENDM
  101. GEM_EXIT:MACRO
  102.  V_CLSVWK HANDLE
  103.  APPL_EXIT D0
  104.  TERM
  105.  RTS
  106.  DATA
  107. GLOBAL:
  108. APVERSION:DC.W 0
  109. APCOUNT:DC.W 0
  110. AP_ID:  DC.W 0
  111. APPRIVATE:DC.L 0
  112. APPTREE:DC.L 0
  113. AP1RESV:DC.L 0
  114. AP2RESV:DC.L 0
  115. AP3RESV:DC.L 0
  116. AP4RESV:DC.L 0
  117. WORK_IN:DC.W 1,1,1,1,1,1,1,1,1,1,2
  118.  BSS
  119. AESPTR  DC.L 0
  120. VDIPTR  DC.L 0
  121. AESPB:  DS.L 6
  122. VDIPB   DS.L 5
  123. CONTRL:
  124. OPCODE: DC.W 0
  125. SINTIN: DC.W 0
  126. SINTOUT:DC.W 0
  127. SADDRIN:DC.W 0
  128. SADDROUT:DC.W 0
  129.         DS.W 6
  130. HANDLE  DS.W 1
  131. GR_HANDLE:DS.W 1
  132. GR_HWCHAR:DS.W 1
  133. GR_HHCHAR:DS.W 1
  134. GR_HWBOX:DS.W 1
  135. GR_HHBOX:DS.W 1
  136. INTIN   DS.W 128
  137. PTSIN   DS.W 256
  138. INTOUT  DS.W 128
  139. PTSOUT  DS.W 128
  140. ADDRIN  DS.W 128
  141. ADDROUT DS.W 128
  142. WORK_OUT:DS.W 57
  143.  TEXT
  144.  ENDM
  145. RSRC_CALC:MACRO $\1
  146.  LEA \1,A4
  147.  MOVE.L A4,D7
  148.  MOVEQ #0,D3
  149.  MOVEQ #0,D4
  150. \MLOOP:
  151.  MOVEQ #2,D6
  152.  MOVEQ #0,D0
  153. \ILOOP:
  154.  MOVE 0(A4,D0),D5
  155.  BMI.S \POSIND
  156.  CMP D3,D5
  157.  BLS.S \POSIND
  158.  MOVE D5,D3
  159.  MOVE D5,D4
  160.  MULU #24,D4
  161. \POSIND:
  162.  ADDQ #2,D0
  163.  DBRA D6,\ILOOP
  164.  LEA 16(A4),A5
  165.  MOVEQ #3,D5
  166.  MOVE.L GR_HWCHAR,D6
  167. \XYLOOP:
  168.  SWAP D6
  169.  MOVE.B (A5),D0
  170.  MOVE (A5),D1
  171.  EXT.W D0
  172.  MULU D6,D0
  173.  EXT.W D1
  174.  ADD D1,D0
  175.  MOVE D0,(A5)+
  176.  DBRA D5,\XYLOOP
  177.  MOVE 6(A4),D6
  178.  CMPI #G_BOX,D6
  179.  BEQ.S \EXIT
  180.  CMPI #G_IBOX,D6
  181.  BEQ.S \EXIT
  182.  CMPI #G_BOXCHAR,D6
  183.  BEQ.S \EXIT
  184.  ADD.L D7,12(A4)
  185.  CMPI #G_BUTTON,D6
  186.  BEQ.S \EXIT
  187.  CMPI #G_STRING,D6
  188.  BEQ.S \EXIT
  189.  CMPI #G_TITLE,D6
  190.  BEQ.S \EXIT
  191.  MOVE.L 12(A4),A3
  192.  MOVE.L A3,D5
  193.  ADD.L D5,(A3)+
  194.  CMPI #G_IMAGE,D6
  195.  BEQ.S \EXIT
  196.  CMPI #G_PROGDEF,D6
  197.  BEQ.S \EXIT
  198.  ADD.L D5,(A3)+
  199.  ADD.L D5,(A3)
  200. \EXIT:
  201.  BTST #5,9(A4)  ;LASTOB
  202.  BNE.S \ENDE
  203.  ADD #24,A4
  204.  MOVE.L D7,A3
  205.  LEA 0(A3,D4.L),A3 ;^ LASTOB
  206.  CMP.L A3,A4
  207.  BLS \MLOOP
  208. \ENDE:
  209.  ENDM
  210.  LIST
  211.  END
  212.