home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / oslib / Hdr / Wimp < prev    next >
Encoding:
Text File  |  1994-09-14  |  47.1 KB  |  1,448 lines

  1. ;AAsm header file for Wimp
  2. ;written by DefMod (Aug  8 1994) on Wed Sep 14 13:19:54 1994
  3.  
  4.         [       :LNOT: :DEF: Get_Types
  5.         GBLS    Get_Types
  6. Get_Types                       SETS    "GET OS:Hdr.Types"
  7.         |
  8. Get_Types                       SETS    ""
  9.         ]
  10.         $Get_Types
  11.  
  12.         [       :LNOT: :DEF: Get_OS
  13.         GBLS    Get_OS
  14. Get_OS                          SETS    "GET OS:Hdr.OS"
  15.         |
  16. Get_OS                          SETS    ""
  17.         ]
  18.         $Get_OS
  19.  
  20.         [       :LNOT: :DEF: Get_OSSpriteOp
  21.         GBLS    Get_OSSpriteOp
  22. Get_OSSpriteOp                  SETS    "GET OS:Hdr.OSSpriteOp"
  23.         |
  24. Get_OSSpriteOp                  SETS    ""
  25.         ]
  26.         $Get_OSSpriteOp
  27.  
  28.         [       :LNOT: :DEF: Get_Font
  29.         GBLS    Get_Font
  30. Get_Font                        SETS    "GET OS:Hdr.Font"
  31.         |
  32. Get_Font                        SETS    ""
  33.         ]
  34.         $Get_Font
  35.  
  36.         [       :LNOT: :DEF: Wimp_Hdr
  37.         GBLS    Wimp_Hdr
  38.  
  39. ;Symbols for constants
  40. Wimp_VersionRO2                 *       200
  41. Wimp_VersionRO3                 *       310
  42. Wimp_IconNameLimit              *       12
  43. Wimp_TemplateNameLimit          *       12
  44. Wimp_MenuNameLimit              *       12
  45. Wimp_MenuDepthLimit             *       8
  46. Wimp_CharXSize                  *       16
  47. Wimp_CharYSize                  *       32
  48. Wimp_NullReasonCode             *       0
  49. Wimp_RedrawWindowRequest        *       1
  50. Wimp_OpenWindowRequest          *       2
  51. Wimp_CloseWindowRequest         *       3
  52. Wimp_PointerLeavingWindow       *       4
  53. Wimp_PointerEnteringWindow      *       5
  54. Wimp_MouseClick                 *       6
  55. Wimp_UserDragBox                *       7
  56. Wimp_KeyPressed                 *       8
  57. Wimp_MenuSelection              *       9
  58. Wimp_ScrollRequest              *       10
  59. Wimp_LoseCaret                  *       11
  60. Wimp_GainCaret                  *       12
  61. Wimp_PollwordNonZero            *       13
  62. Wimp_UserMessage                *       17
  63. Wimp_UserMessageRecorded        *       18
  64. Wimp_UserMessageAcknowledge     *       19
  65. Wimp_PollWord                   *       22
  66. Wimp_PollwordPriority           *       23
  67. Wimp_FP                         *       24
  68. Wimp_MaskNull                   *       &1
  69. Wimp_QueueRedraw                *       &2
  70. Wimp_MaskLeaving                *       &10
  71. Wimp_MaskEntering               *       &20
  72. Wimp_QueueMouse                 *       &40
  73. Wimp_QueueKey                   *       &100
  74. Wimp_MaskLose                   *       &800
  75. Wimp_MaskGain                   *       &1000
  76. Wimp_MaskPollword               *       &2000
  77. Wimp_MaskMessage                *       &20000
  78. Wimp_MaskRecorded               *       &40000
  79. Wimp_MaskAcknowledge            *       &80000
  80. Wimp_GivenPollword              *       &400000
  81. Wimp_PollHighPriority           *       &800000
  82. Wimp_SaveFP                     *       &1000000
  83. Wimp_Broadcast                  *       &0
  84. Wimp_Background                 *       &FFFFFFFF
  85. Wimp_IconBar                    *       &FFFFFFFE
  86. Wimp_IconBarRight               *       &FFFFFFFF
  87. Wimp_IconBarLeft                *       &FFFFFFFE
  88. Wimp_IconBarLeftRelative        *       &FFFFFFFD
  89. Wimp_IconBarRightRelative       *       &FFFFFFFC
  90. Wimp_IconBarLeftHighPriority    *       &FFFFFFFB
  91. Wimp_IconBarLeftLowPriority     *       &FFFFFFFA
  92. Wimp_IconBarRightLowPriority    *       &FFFFFFF9
  93. Wimp_IconBarRightHighPriority   *       &FFFFFFF8
  94. Wimp_Top                        *       &FFFFFFFF
  95. Wimp_Bottom                     *       &FFFFFFFE
  96. Wimp_NoIcon                     *       &FFFFFFFF
  97. Wimp_IconWindow                 *       &FFFFFFFF
  98. Wimp_IconBack                   *       &FFFFFFFE
  99. Wimp_IconClose                  *       &FFFFFFFD
  100. Wimp_IconTitle                  *       &FFFFFFFC
  101. Wimp_IconToggle                 *       &FFFFFFFB
  102. Wimp_IconScrollUp               *       &FFFFFFFA
  103. Wimp_IconVScroll                *       &FFFFFFF9
  104. Wimp_IconScrollDown             *       &FFFFFFF8
  105. Wimp_IconSize                   *       &FFFFFFF7
  106. Wimp_IconScrollLeft             *       &FFFFFFF6
  107. Wimp_IconHScroll                *       &FFFFFFF5
  108. Wimp_IconScrollRight            *       &FFFFFFF4
  109. Wimp_IconFrame                  *       &FFFFFFF3
  110. Wimp_WindowMoveable             *       &2
  111. Wimp_WindowAutoRedraw           *       &10
  112. Wimp_WindowPane                 *       &20
  113. Wimp_WindowNoBounds             *       &40
  114. Wimp_WindowScrollRepeat         *       &100
  115. Wimp_WindowScroll               *       &200
  116. Wimp_WindowRealColours          *       &400
  117. Wimp_WindowBack                 *       &800
  118. Wimp_WindowHotKeys              *       &1000
  119. Wimp_WindowBounded              *       &2000
  120. Wimp_WindowIgnoreXExtent        *       &4000
  121. Wimp_WindowIgnoreYExtent        *       &8000
  122. Wimp_WindowOpen                 *       &10000
  123. Wimp_WindowNotCovered           *       &20000
  124. Wimp_WindowFullSize             *       &40000
  125. Wimp_WindowToggled              *       &80000
  126. Wimp_WindowHasFocus             *       &100000
  127. Wimp_WindowBoundedOnce          *       &200000
  128. Wimp_WindowBackIcon             *       &1000000
  129. Wimp_WindowCloseIcon            *       &2000000
  130. Wimp_WindowTitleIcon            *       &4000000
  131. Wimp_WindowToggleIcon           *       &8000000
  132. Wimp_WindowVScroll              *       &10000000
  133. Wimp_WindowSizeIcon             *       &20000000
  134. Wimp_WindowHScroll              *       &40000000
  135. Wimp_WindowNewFormat            *       &80000000
  136. Wimp_IconText                   *       &1
  137. Wimp_IconSprite                 *       &2
  138. Wimp_IconBorder                 *       &4
  139. Wimp_IconHCentred               *       &8
  140. Wimp_IconVCentred               *       &10
  141. Wimp_IconFilled                 *       &20
  142. Wimp_IconAntiAliased            *       &40
  143. Wimp_IconNeedsHelp              *       &80
  144. Wimp_IconIndirected             *       &100
  145. Wimp_IconRJustified             *       &200
  146. Wimp_IconAllowAdjust            *       &400
  147. Wimp_IconHalfSize               *       &800
  148. Wimp_IconButtonTypeShift        *       12
  149. Wimp_IconButtonType             *       &F000
  150. Wimp_IconESGShift               *       16
  151. Wimp_IconESG                    *       &1F0000
  152. Wimp_IconSelected               *       &200000
  153. Wimp_IconShaded                 *       &400000
  154. Wimp_IconDeleted                *       &800000
  155. Wimp_IconFGColourShift          *       24
  156. Wimp_IconFGColour               *       &F000000
  157. Wimp_IconBGColourShift          *       28
  158. Wimp_IconBGColour               *       &F0000000
  159. Wimp_IconFontHandleShift        *       24
  160. Wimp_IconFontHandle             *       &FF000000
  161. Wimp_ButtonNever                *       0
  162. Wimp_ButtonAlways               *       1
  163. Wimp_ButtonRepeat               *       2
  164. Wimp_ButtonClick                *       3
  165. Wimp_ButtonRelease              *       4
  166. Wimp_ButtonDoubleClick          *       5
  167. Wimp_ButtonClickDrag            *       6
  168. Wimp_ButtonReleaseDrag          *       7
  169. Wimp_ButtonDoubleDrag           *       8
  170. Wimp_ButtonMenuIcon             *       9
  171. Wimp_ButtonDoubleClickDrag      *       10
  172. Wimp_ButtonRadio                *       11
  173. Wimp_ButtonWriteClickDrag       *       14
  174. Wimp_ButtonWritable             *       15
  175. Wimp_MenuTicked                 *       &1
  176. Wimp_MenuSeparate               *       &2
  177. Wimp_MenuWritable               *       &4
  178. Wimp_MenuGiveWarning            *       &8
  179. Wimp_MenuSubMenuWhenShaded      *       &10
  180. Wimp_MenuLast                   *       &80
  181. Wimp_MenuTitleIndirected        *       &100
  182. Wimp_CloseMenu                  *       &FFFFFFFF
  183. Wimp_NoSubMenu                  *       &FFFFFFFF
  184. Wimp_DeferSubMenu               *       &1
  185. Wimp_NoFonts                    *       &FFFFFFFF
  186. Wimp_ClickAdjust                *       &1
  187. Wimp_DoubleAdjust               *       &1
  188. Wimp_ClickMenu                  *       &2
  189. Wimp_ClickSelect                *       &4
  190. Wimp_DoubleSelect               *       &4
  191. Wimp_DragAdjust                 *       &10
  192. Wimp_DragSelect                 *       &40
  193. Wimp_SingleAdjust               *       &100
  194. Wimp_SingleSelect               *       &400
  195. Wimp_MenuItemHeight             *       44
  196. Wimp_MenuItemGap                *       0
  197. Wimp_MenuItemSeparation         *       24
  198. Wimp_DragSystemPosition         *       1
  199. Wimp_DragSystemSize             *       2
  200. Wimp_DragSystemHScroll          *       3
  201. Wimp_DragSystemVScroll          *       4
  202. Wimp_DragUserFixed              *       5
  203. Wimp_DragUserRubber             *       6
  204. Wimp_DragUserPoint              *       7
  205. Wimp_DragAsmFixed               *       8
  206. Wimp_DragAsmRubber              *       9
  207. Wimp_DragAsmFixedIndefinite     *       10
  208. Wimp_DragAsmRubberIndefinite    *       11
  209. Wimp_DragSystemScrollBoth       *       12
  210. Wimp_KeyBackspace               *       8
  211. Wimp_KeyReturn                  *       13
  212. Wimp_KeyEscape                  *       27
  213. Wimp_KeyHome                    *       30
  214. Wimp_KeyDelete                  *       127
  215. Wimp_KeyShift                   *       16
  216. Wimp_KeyControl                 *       32
  217. Wimp_KeyPrint                   *       384
  218. Wimp_KeyF1                      *       385
  219. Wimp_KeyF2                      *       386
  220. Wimp_KeyF3                      *       387
  221. Wimp_KeyF4                      *       388
  222. Wimp_KeyF5                      *       389
  223. Wimp_KeyF6                      *       390
  224. Wimp_KeyF7                      *       391
  225. Wimp_KeyF8                      *       392
  226. Wimp_KeyF9                      *       393
  227. Wimp_KeyTab                     *       394
  228. Wimp_KeyCopy                    *       395
  229. Wimp_KeyLeft                    *       396
  230. Wimp_KeyRight                   *       397
  231. Wimp_KeyF10                     *       458
  232. Wimp_KeyF11                     *       459
  233. Wimp_KeyF12                     *       460
  234. Wimp_KeyInsert                  *       461
  235. Wimp_KeyDown                    *       398
  236. Wimp_KeyUp                      *       399
  237. Wimp_KeyPageDown                *       414
  238. Wimp_KeyPageUp                  *       415
  239. Message_Quit                    *       &0
  240. Message_DataSave                *       &1
  241. Message_DataSaveAck             *       &2
  242. Message_DataLoad                *       &3
  243. Message_DataLoadAck             *       &4
  244. Message_DataOpen                *       &5
  245. Message_RAMFetch                *       &6
  246. Message_RAMTransmit             *       &7
  247. Message_Prequit                 *       &8
  248. Message_PaletteChange           *       &9
  249. Message_SaveDesktop             *       &A
  250. Message_DeviceClaim             *       &B
  251. Message_DeviceInUse             *       &C
  252. Message_DataSaved               *       &D
  253. Message_Shutdown                *       &E
  254. Message_ClaimEntity             *       &F
  255. Message_DataRequest             *       &10
  256. Message_Dragging                *       &11
  257. Message_DragClaim               *       &12
  258. Message_MenuWarning             *       &400C0
  259. Message_ModeChange              *       &400C1
  260. Message_TaskInitialise          *       &400C2
  261. Message_TaskCloseDown           *       &400C3
  262. Message_SlotSize                *       &400C4
  263. Message_SetSlot                 *       &400C5
  264. Message_TaskNameRq              *       &400C6
  265. Message_TaskNameIs              *       &400C7
  266. Message_TaskStarted             *       &400C8
  267. Message_MenusDeleted            *       &400C9
  268. Message_Iconise                 *       &400CA
  269. Message_WindowClosed            *       &400CB
  270. Message_WindowInfo              *       &400CC
  271. Message_Swap                    *       &400CD
  272. Message_ToolsChanged            *       &400CE
  273. Message_FontChanged             *       &400CF
  274. Wimp_ErrorBoxOKIcon             *       &1
  275. Wimp_ErrorBoxCancelIcon         *       &2
  276. Wimp_ErrorBoxHighlightCancel    *       &4
  277. Wimp_ErrorBoxNoPrompt           *       &8
  278. Wimp_ErrorBoxShortTitle         *       &10
  279. Wimp_ErrorBoxLeaveOpen          *       &20
  280. Wimp_ErrorBoxClose              *       &40
  281. Wimp_ErrorBoxNoBeep             *       &80
  282. Wimp_ErrorBoxGivenCategory      *       &100
  283. Wimp_ErrorBoxCategory           *       &E00
  284. Wimp_ErrorBoxCategoryShift      *       9
  285. Wimp_ErrorBoxCategoryInfo       *       &1
  286. Wimp_ErrorBoxCategoryError      *       &2
  287. Wimp_ErrorBoxCategoryProgram    *       &3
  288. Wimp_ErrorBoxCategoryQuestion   *       &4
  289. Wimp_ErrorBoxSelectedNothing    *       0
  290. Wimp_ErrorBoxSelectedOK         *       1
  291. Wimp_ErrorBoxSelectedCancel     *       2
  292. Wimp_ColourWhite                *       &0
  293. Wimp_ColourVeryLightGrey        *       &1
  294. Wimp_ColourLightGrey            *       &2
  295. Wimp_ColourMidLightGrey         *       &3
  296. Wimp_ColourMidDarkGrey          *       &4
  297. Wimp_ColourDarkGrey             *       &5
  298. Wimp_ColourVeryDarkGrey         *       &6
  299. Wimp_ColourBlack                *       &7
  300. Wimp_ColourDarkBlue             *       &8
  301. Wimp_ColourYellow               *       &9
  302. Wimp_ColourLightGreen           *       &A
  303. Wimp_ColourRed                  *       &B
  304. Wimp_ColourCream                *       &C
  305. Wimp_ColourDarkGreen            *       &D
  306. Wimp_ColourOrange               *       &E
  307. Wimp_ColourLightBlue            *       &F
  308. Wimp_ColourTransparent          *       &FFFFFFFF
  309. Error_WimpNoClaim               *       &280
  310. Error_WimpBadOp                 *       &281
  311. Error_WimpRectFull              *       &282
  312. Error_WimpTooMany               *       &283
  313. Error_WimpTooBig                *       &284
  314. Error_WimpDivBy0                *       &285
  315. Error_WimpGetRect               *       &286
  316. Error_WimpFocus                 *       &287
  317. Error_WimpBadHandle             *       &288
  318. Error_WimpTooMenus              *       &289
  319. Error_WimpBadExtent             *       &28A
  320. Error_WimpBadPointer            *       &28B
  321. Error_WimpNoTemplateFile        *       &28C
  322. Error_WimpBadTemplate           *       &28D
  323. Error_WimpBadFonts              *       &28E
  324. Error_WimpBadSyntax             *       &28F
  325. Error_WimpNoTasks               *       &290
  326. Error_WimpNoTemplate            *       &291
  327. Error_WimpNotPresent            *       &292
  328. Error_WimpInUse                 *       &293
  329. Error_WimpBadPalFile            *       &294
  330. Error_WimpBadVersion            *       &295
  331. Error_WimpBadMessageSize        *       &296
  332. Error_WimpBadReasonCode         *       &297
  333. Error_WimpBadTaskHandle         *       &298
  334. Error_WimpCantTask              *       &299
  335. Error_WimpBadSubMenu            *       &29A
  336. Error_WimpOwnerWindow           *       &29B
  337. Error_WimpBadMode               *       &29C
  338. Error_WimpBadTransfer           *       &29D
  339. Error_WimpBadSysInfo            *       &29E
  340. Error_WimpBadPtrInR1            *       &29F
  341. Error_WimpBadEscapeState        *       &2A0
  342. Error_WimpBadIconHandle         *       &2A1
  343. Error_WimpBadR3                 *       &2A2
  344. Error_WimpNoDotInFilename       *       &2A3
  345. Error_WimpTemplateEOF           *       &2A4
  346. Error_WimpBadSlot               *       &2A5
  347. Error_WimpBadConfFont           *       &2A6
  348. Error_WimpNoSprites             *       &2A7
  349. Error_WimpBadPalFile2           *       &2A8
  350. Error_WimpBadSprites            *       &2A9
  351. Wimp_PriorityTaskManager        *       &60000000
  352. Wimp_PriorityPaletteUtility     *       &20000000
  353. Wimp_PriorityADFSFilerHardDiscs *       &70000000
  354. Wimp_PriorityADFSFilerFloppyDiscs *       &60000000
  355. Wimp_PriorityResourceFiler      *       &50000000
  356. Wimp_PriorityRAMFSFiler         *       &40000000
  357. Wimp_PriorityNFSFiler           *       &30000000
  358. Wimp_PriorityNetFiler           *       &20000000
  359. Wimp_PriorityPrinters           *       &F000000
  360. Wimp_PriorityTinyDirs           *       &C0000000
  361. Wimp_DefaultPalette             *       &FFFFFFFF
  362. Wimp_Palette                    *       &0
  363. WimpTextOp_RJustify             *       &40000000
  364. WimpTextOp_GivenBaseline        *       &80000000
  365.  
  366. ;Symbols for structure offsets and sizes
  367. Wimp_W                          *       4 ;abstract type
  368. Wimp_I                          *       Int
  369.  
  370. Wimp_T                          *       4 ;abstract type
  371. Wimp_Colour                     *       Byte
  372.  
  373.                                 ^       0
  374. Wimp_IconData_text              #       12*Char
  375.                                 ^       0
  376. Wimp_IconData_sprite            #       12*Char
  377.                                 ^       0
  378. Wimp_IconData_text_and_sprite   #       12*Char
  379.                                 ^       0
  380. Wimp_IconData_indirected_text_text #       Ptr
  381. Wimp_IconData_indirected_text_validation #       Ptr
  382. Wimp_IconData_indirected_text_size #       Int
  383.                                 ^       0
  384. Wimp_IconData_indirected_sprite_id #       OSSpriteOp_Id
  385. Wimp_IconData_indirected_sprite_area #       Ptr
  386. Wimp_IconData_indirected_sprite_size #       Int
  387.                                 ^       0
  388. Wimp_IconData_indirected_text_and_sprite_text #       Ptr
  389. Wimp_IconData_indirected_text_and_sprite_validation #       Ptr
  390. Wimp_IconData_indirected_text_and_sprite_size #       Int
  391. Wimp_IconData                   *       @
  392.  
  393.                                 ^       0
  394. Wimp_Icon_extent                #       OS_Box
  395. Wimp_Icon_flags                 #       Bits
  396. Wimp_Icon_data                  #       Wimp_IconData
  397. Wimp_Icon                       *       @
  398.  
  399.                                 ^       0
  400. Wimp_IconCreate_w               #       Wimp_W
  401. Wimp_IconCreate_icon            #       Wimp_Icon
  402. Wimp_IconCreate                 *       @
  403.  
  404.                                 ^       0
  405. Wimp_Window_visible             #       OS_Box
  406. Wimp_Window_xscroll             #       Int
  407. Wimp_Window_yscroll             #       Int
  408. Wimp_Window_next                #       Wimp_W
  409. Wimp_Window_flags               #       Bits
  410. Wimp_Window_title_fg            #       Wimp_Colour
  411. Wimp_Window_title_bg            #       Wimp_Colour
  412. Wimp_Window_work_fg             #       Wimp_Colour
  413. Wimp_Window_work_bg             #       Wimp_Colour
  414. Wimp_Window_scroll_outer        #       Wimp_Colour
  415. Wimp_Window_scroll_inner        #       Wimp_Colour
  416. Wimp_Window_highlight_bg        #       Wimp_Colour
  417. Wimp_Window_reserved            #       Wimp_Colour
  418. Wimp_Window_extent              #       OS_Box
  419. Wimp_Window_title_flags         #       Bits
  420. Wimp_Window_work_flags          #       Bits
  421. Wimp_Window_sprite_area         #       Ptr
  422. Wimp_Window_xmin                #       Short
  423. Wimp_Window_ymin                #       Short
  424. Wimp_Window_title_data          #       Wimp_IconData
  425. Wimp_Window_icon_count          #       Int
  426. Wimp_Window_icons               #       Wimp_Icon
  427. Wimp_Window                     *       @
  428.  
  429.                                 ^       0
  430. Wimp_WindowState_w              #       Wimp_W
  431. Wimp_WindowState_visible        #       OS_Box
  432. Wimp_WindowState_xscroll        #       Int
  433. Wimp_WindowState_yscroll        #       Int
  434. Wimp_WindowState_next           #       Wimp_W
  435. Wimp_WindowState_flags          #       Bits
  436. Wimp_WindowState                *       @
  437.  
  438.                                 ^       0
  439. Wimp_IconState_w                #       Wimp_W
  440. Wimp_IconState_i                #       Wimp_I
  441. Wimp_IconState_icon             #       Wimp_Icon
  442. Wimp_IconState                  *       @
  443.  
  444.                                 ^       0
  445. Wimp_WindowInfo_w               #       Wimp_W
  446. Wimp_WindowInfo_visible         #       OS_Box
  447. Wimp_WindowInfo_xscroll         #       Int
  448. Wimp_WindowInfo_yscroll         #       Int
  449. Wimp_WindowInfo_next            #       Wimp_W
  450. Wimp_WindowInfo_flags           #       Bits
  451. Wimp_WindowInfo_title_fg        #       Wimp_Colour
  452. Wimp_WindowInfo_title_bg        #       Wimp_Colour
  453. Wimp_WindowInfo_work_fg         #       Wimp_Colour
  454. Wimp_WindowInfo_work_bg         #       Wimp_Colour
  455. Wimp_WindowInfo_scroll_outer    #       Wimp_Colour
  456. Wimp_WindowInfo_scroll_inner    #       Wimp_Colour
  457. Wimp_WindowInfo_highlight_bg    #       Wimp_Colour
  458. Wimp_WindowInfo_reserved        #       Wimp_Colour
  459. Wimp_WindowInfo_extent          #       OS_Box
  460. Wimp_WindowInfo_title_flags     #       Bits
  461. Wimp_WindowInfo_work_flags      #       Bits
  462. Wimp_WindowInfo_sprite_area     #       Ptr
  463. Wimp_WindowInfo_xmin            #       Short
  464. Wimp_WindowInfo_ymin            #       Short
  465. Wimp_WindowInfo_title_data      #       Wimp_IconData
  466. Wimp_WindowInfo_icon_count      #       Int
  467. Wimp_WindowInfo_icons           #       Wimp_Icon
  468. Wimp_WindowInfo                 *       @
  469.  
  470.                                 ^       0
  471. Wimp_Outline_w                  #       Wimp_W
  472. Wimp_Outline_outline            #       OS_Box
  473. Wimp_Outline                    *       @
  474.  
  475.                                 ^       0
  476. Wimp_Draw_w                     #       Wimp_W
  477. Wimp_Draw_box                   #       OS_Box
  478. Wimp_Draw_xscroll               #       Int
  479. Wimp_Draw_yscroll               #       Int
  480. Wimp_Draw_clip                  #       OS_Box
  481. Wimp_Draw                       *       @
  482.  
  483.                                 ^       0
  484. Wimp_Open_w                     #       Wimp_W
  485. Wimp_Open_visible               #       OS_Box
  486. Wimp_Open_xscroll               #       Int
  487. Wimp_Open_yscroll               #       Int
  488. Wimp_Open_next                  #       Wimp_W
  489. Wimp_Open                       *       @
  490.  
  491.                                 ^       0
  492. Wimp_Close_w                    #       Wimp_W
  493. Wimp_Close                      *       @
  494.  
  495.                                 ^       0
  496. Wimp_Leaving_w                  #       Wimp_W
  497. Wimp_Leaving                    *       @
  498.  
  499.                                 ^       0
  500. Wimp_Entering_w                 #       Wimp_W
  501. Wimp_Entering                   *       @
  502.  
  503.                                 ^       0
  504. Wimp_Pointer_pos                #       OS_Coord
  505. Wimp_Pointer_buttons            #       Bits
  506. Wimp_Pointer_w                  #       Wimp_W
  507. Wimp_Pointer_i                  #       Wimp_I
  508. Wimp_Pointer                    *       @
  509.  
  510.                                 ^       0
  511. Wimp_Dragged_final              #       OS_Box
  512. Wimp_Dragged                    *       @
  513.  
  514.                                 ^       0
  515. Wimp_Key_w                      #       Wimp_W
  516. Wimp_Key_i                      #       Wimp_I
  517. Wimp_Key_pos                    #       OS_Coord
  518. Wimp_Key_height                 #       Int
  519. Wimp_Key_index                  #       Int
  520. Wimp_Key_c                      #       Int
  521. Wimp_Key                        *       @
  522.  
  523.                                 ^       0
  524. Wimp_Selection_items            #       9*Int
  525. Wimp_Selection                  *       @
  526.  
  527.                                 ^       0
  528. Wimp_Scroll_w                   #       Wimp_W
  529. Wimp_Scroll_visible             #       OS_Box
  530. Wimp_Scroll_xscroll             #       Int
  531. Wimp_Scroll_yscroll             #       Int
  532. Wimp_Scroll_next                #       Wimp_W
  533. Wimp_Scroll_xmin                #       Int
  534. Wimp_Scroll_ymin                #       Int
  535. Wimp_Scroll                     *       @
  536.  
  537.                                 ^       0
  538. Wimp_Pollword_addr              #       Ptr
  539. Wimp_Pollword_word              #       Int
  540. Wimp_Pollword                   *       @
  541.  
  542.                                 ^       0
  543. Wimp_Drag_w                     #       Wimp_W
  544. Wimp_Drag_type                  #       Int
  545. Wimp_Drag_initial               #       OS_Box
  546. Wimp_Drag_bbox                  #       OS_Box
  547. Wimp_Drag_handle                #       Ptr
  548. Wimp_Drag_draw                  #       Ptr
  549. Wimp_Drag_undraw                #       Ptr
  550. Wimp_Drag_redraw                #       Ptr
  551. Wimp_Drag                       *       @
  552.  
  553.                                 ^       0
  554. Wimp_Caret_w                    #       Wimp_W
  555. Wimp_Caret_i                    #       Wimp_I
  556. Wimp_Caret_pos                  #       OS_Coord
  557. Wimp_Caret_height               #       Int
  558. Wimp_Caret_index                #       Int
  559. Wimp_Caret                      *       @
  560.  
  561.                                 ^       0
  562. Wimp_MenuEntry_menu_flags       #       Bits
  563. Wimp_MenuEntry_sub_menu         #       Ptr
  564. Wimp_MenuEntry_icon_flags       #       Bits
  565. Wimp_MenuEntry_data             #       Wimp_IconData
  566. Wimp_MenuEntry                  *       @
  567.  
  568.                                 ^       0
  569. Wimp_Menu_title_data            *       @
  570. Wimp_Menu_title_data_text       #       12*Char
  571.                                 ^       Wimp_Menu_title_data
  572. Wimp_Menu_title_data_indirected_text_text #       Ptr
  573. Wimp_Menu_title_data_indirected_text_reserved #       8*Byte
  574. Wimp_Menu_title_fg              #       Wimp_Colour
  575. Wimp_Menu_title_bg              #       Wimp_Colour
  576. Wimp_Menu_work_fg               #       Wimp_Colour
  577. Wimp_Menu_work_bg               #       Wimp_Colour
  578. Wimp_Menu_width                 #       Int
  579. Wimp_Menu_height                #       Int
  580. Wimp_Menu_gap                   #       Int
  581. Wimp_Menu_entries               #       Wimp_MenuEntry
  582. Wimp_Menu                       *       @
  583.  
  584.                                 ^       0
  585. Wimp_MessageDataXfer_w          #       Wimp_W
  586. Wimp_MessageDataXfer_i          #       Wimp_I
  587. Wimp_MessageDataXfer_pos        #       OS_Coord
  588. Wimp_MessageDataXfer_est_size   #       Int
  589. Wimp_MessageDataXfer_file_type  #       Bits
  590. Wimp_MessageDataXfer_file_name  #       212*Char
  591. Wimp_MessageDataXfer            *       @
  592.  
  593.                                 ^       0
  594. Wimp_MessageRAMXfer_addr        #       Ptr
  595. Wimp_MessageRAMXfer_size        #       Int
  596. Wimp_MessageRAMXfer             *       @
  597.  
  598.                                 ^       0
  599. Wimp_MessagePrequit_flags       #       Bits
  600. Wimp_MessagePrequit             *       @
  601.  
  602.                                 ^       0
  603. Wimp_MessageSaveDesktop_file    #       OS_F
  604. Wimp_MessageSaveDesktop_reserved #       3*Byte
  605. Wimp_MessageSaveDesktop_flags   #       Bits
  606. Wimp_MessageSaveDesktop         *       @
  607.  
  608.                                 ^       0
  609. Wimp_MessageDevice_major        #       Int
  610. Wimp_MessageDevice_minor        #       Int
  611. Wimp_MessageDevice_info         #       228*Char
  612. Wimp_MessageDevice              *       @
  613.  
  614.                                 ^       0
  615. Wimp_MessageDataSaved_ref       #       Int
  616. Wimp_MessageDataSaved           *       @
  617.  
  618.                                 ^       0
  619. Wimp_MessageShutdown_flags      #       Bits
  620. Wimp_MessageShutdown            *       @
  621.  
  622.                                 ^       0
  623. Wimp_MessageClaimEntity_flags   #       Bits
  624. Wimp_MessageClaimEntity         *       @
  625.  
  626.                                 ^       0
  627. Wimp_MessageDataRequest_w       #       Wimp_W
  628. Wimp_MessageDataRequest_i       #       Wimp_I
  629. Wimp_MessageDataRequest_pos     #       OS_Coord
  630. Wimp_MessageDataRequest_flags   #       Bits
  631. Wimp_MessageDataRequest_file_types #       54*Bits
  632. Wimp_MessageDataRequest         *       @
  633.  
  634.                                 ^       0
  635. Wimp_MessageDragging_w          #       Wimp_W
  636. Wimp_MessageDragging_i          #       Wimp_I
  637. Wimp_MessageDragging_pos        #       OS_Coord
  638. Wimp_MessageDragging_flags      #       Bits
  639. Wimp_MessageDragging_box        #       OS_Box
  640. Wimp_MessageDragging_file_types #       50*Bits
  641. Wimp_MessageDragging            *       @
  642.  
  643.                                 ^       0
  644. Wimp_MessageDragClaim_flags     #       Bits
  645. Wimp_MessageDragClaim_file_types #       58*Bits
  646. Wimp_MessageDragClaim           *       @
  647.  
  648.                                 ^       0
  649. Wimp_MessageMenuWarning_sub_menu #       Ptr
  650. Wimp_MessageMenuWarning_pos     #       OS_Coord
  651. Wimp_MessageMenuWarning_selection #       Wimp_Selection
  652. Wimp_MessageMenuWarning         *       @
  653.  
  654.                                 ^       0
  655. Wimp_MessageTaskInitialise_cao  #       Ptr
  656. Wimp_MessageTaskInitialise_size #       Int
  657. Wimp_MessageTaskInitialise_task_name #       228*Char
  658. Wimp_MessageTaskInitialise      *       @
  659.  
  660.                                 ^       0
  661. Wimp_MessageSlotSize_new_curr   #       Int
  662. Wimp_MessageSlotSize_new_next   #       Int
  663. Wimp_MessageSlotSize            *       @
  664.  
  665.                                 ^       0
  666. Wimp_MessageSetSlot_new_curr    #       Int
  667. Wimp_MessageSetSlot_task        #       Wimp_T
  668. Wimp_MessageSetSlot             *       @
  669.  
  670.                                 ^       0
  671. Wimp_MessageTaskNameRq_task     #       Wimp_T
  672. Wimp_MessageTaskNameRq          *       @
  673.  
  674.                                 ^       0
  675. Wimp_MessageTaskNameIs_task     #       Wimp_T
  676. Wimp_MessageTaskNameIs_size     #       Int
  677. Wimp_MessageTaskNameIs_task_name #       228*Char
  678. Wimp_MessageTaskNameIs          *       @
  679.  
  680.                                 ^       0
  681. Wimp_MessageMenusDeleted_menu   #       Ptr
  682. Wimp_MessageMenusDeleted        *       @
  683.  
  684.                                 ^       0
  685. Wimp_MessageIconise_w           #       Wimp_W
  686. Wimp_MessageIconise_task        #       Wimp_T
  687. Wimp_MessageIconise_title       #       20*Char
  688. Wimp_MessageIconise             *       @
  689.  
  690.                                 ^       0
  691. Wimp_MessageWindowClosed_w      #       Wimp_W
  692. Wimp_MessageWindowClosed        *       @
  693.  
  694.                                 ^       0
  695. Wimp_MessageWindowInfo_w        #       Wimp_W
  696. Wimp_MessageWindowInfo_reserved #       Int
  697. Wimp_MessageWindowInfo_sprite_name #       8*Char
  698. Wimp_MessageWindowInfo_title    #       20*Char
  699. Wimp_MessageWindowInfo          *       @
  700.  
  701.                                 ^       0
  702. Wimp_MessageFontChanged_font    #       Font_F
  703. Wimp_MessageFontChanged         *       @
  704.  
  705.                                 ^       0
  706. Wimp_Message_size               #       Int
  707. Wimp_Message_sender             #       Wimp_T
  708. Wimp_Message_my_ref             #       Int
  709. Wimp_Message_your_ref           #       Int
  710. Wimp_Message_action             #       Bits
  711. Wimp_Message_data               *       @
  712. Wimp_Message_data_data_xfer     #       Wimp_MessageDataXfer
  713.                                 ^       Wimp_Message_data
  714. Wimp_Message_data_ram_xfer      #       Wimp_MessageRAMXfer
  715.                                 ^       Wimp_Message_data
  716. Wimp_Message_data_prequit       #       Wimp_MessagePrequit
  717.                                 ^       Wimp_Message_data
  718. Wimp_Message_data_save_desktop  #       Wimp_MessageSaveDesktop
  719.                                 ^       Wimp_Message_data
  720. Wimp_Message_data_device        #       Wimp_MessageDevice
  721.                                 ^       Wimp_Message_data
  722. Wimp_Message_data_data_saved    #       Wimp_MessageDataSaved
  723.                                 ^       Wimp_Message_data
  724. Wimp_Message_data_shutdown      #       Wimp_MessageShutdown
  725.                                 ^       Wimp_Message_data
  726. Wimp_Message_data_claim_entity  #       Wimp_MessageClaimEntity
  727.                                 ^       Wimp_Message_data
  728. Wimp_Message_data_data_request  #       Wimp_MessageDataRequest
  729.                                 ^       Wimp_Message_data
  730. Wimp_Message_data_dragging      #       Wimp_MessageDragging
  731.                                 ^       Wimp_Message_data
  732. Wimp_Message_data_drag_claim    #       Wimp_MessageDragClaim
  733.                                 ^       Wimp_Message_data
  734. Wimp_Message_data_reserved      #       236*Byte
  735. Wimp_Message                    *       @
  736.  
  737.                                 ^       0
  738. Wimp_Block_redraw               #       Wimp_Draw
  739.                                 ^       0
  740. Wimp_Block_open                 #       Wimp_Open
  741.                                 ^       0
  742. Wimp_Block_close                #       Wimp_Close
  743.                                 ^       0
  744. Wimp_Block_leaving              #       Wimp_Leaving
  745.                                 ^       0
  746. Wimp_Block_entering             #       Wimp_Entering
  747.                                 ^       0
  748. Wimp_Block_pointer              #       Wimp_Pointer
  749.                                 ^       0
  750. Wimp_Block_dragged              #       Wimp_Dragged
  751.                                 ^       0
  752. Wimp_Block_key                  #       Wimp_Key
  753.                                 ^       0
  754. Wimp_Block_selection            #       Wimp_Selection
  755.                                 ^       0
  756. Wimp_Block_scroll               #       Wimp_Scroll
  757.                                 ^       0
  758. Wimp_Block_caret                #       Wimp_Caret
  759.                                 ^       0
  760. Wimp_Block_pollword             #       Wimp_Pollword
  761.                                 ^       0
  762. Wimp_Block_message              #       Wimp_Message
  763.                                 ^       0
  764. Wimp_Block_reserved             #       256*Byte
  765. Wimp_Block                      *       @
  766.  
  767.                                 ^       0
  768. Wimp_MessageList_messages       #       Int
  769. Wimp_MessageList                *       @
  770.  
  771.  
  772. ;Symbols for SWI's and SWI reason codes
  773. XWimp_Initialise                *       &600C0
  774. Wimp_Initialise                 *       &400C0
  775.    ;Entry
  776.    ;  R0 = version (Int)
  777.    ;  R1 = &4B534154
  778.    ;  R2 -> name (String)
  779.    ;  R3 -> messages (Wimp_MessageList)
  780.    ;Exit
  781.    ;  R0 = version_out (Int)
  782.    ;  R1 = task_out (Wimp_T)
  783.  
  784. XWimp_CreateWindow              *       &600C1
  785. Wimp_CreateWindow               *       &400C1
  786.    ;Entry
  787.    ;  R1 -> window (Wimp_Window)
  788.    ;Exit
  789.    ;  R0 = w (Wimp_W)
  790.  
  791. XWimp_CreateIcon                *       &600C2
  792. Wimp_CreateIcon                 *       &400C2
  793.    ;Entry
  794.    ;  R1 -> icon (Wimp_IconCreate)
  795.    ;Exit
  796.    ;  R0 = i (Wimp_I)
  797.  
  798. XWimp_CreateIconRelative        *       &600C2
  799. Wimp_CreateIconRelative         *       &400C2
  800.    ;Entry
  801.    ;  R0 = neighbour (Wimp_I)
  802.    ;  R1 -> icon (Wimp_IconCreate)
  803.    ;Exit
  804.    ;  R0 = i (Wimp_I)
  805.  
  806. XWimp_CreateIconPrioritised     *       &600C2
  807. Wimp_CreateIconPrioritised      *       &400C2
  808.    ;Entry
  809.    ;  R0 = priority (Int)
  810.    ;  R1 -> icon (Wimp_IconCreate)
  811.    ;Exit
  812.    ;  R0 = i (Wimp_I)
  813.  
  814. XWimp_DeleteWindow              *       &600C3
  815. Wimp_DeleteWindow               *       &400C3
  816.    ;Entry
  817.    ;  R1 -> delete_window (sequence of (Wimp_W))
  818.    ;Exit
  819.    ;  R0 corrupted
  820.  
  821. XWimp_DeleteIcon                *       &600C4
  822. Wimp_DeleteIcon                 *       &400C4
  823.    ;Entry
  824.    ;  R1 -> delete_icon (sequence of (Wimp_W, Wimp_I))
  825.    ;Exit
  826.    ;  R0 corrupted
  827.  
  828. XWimp_OpenWindow                *       &600C5
  829. Wimp_OpenWindow                 *       &400C5
  830.    ;Entry
  831.    ;  R1 -> open (Wimp_Open)
  832.    ;Exit
  833.    ;  R0 corrupted
  834.  
  835. XWimp_CloseWindow               *       &600C6
  836. Wimp_CloseWindow                *       &400C6
  837.    ;Entry
  838.    ;  R1 -> close_window (sequence of (Wimp_W))
  839.    ;Exit
  840.    ;  R0 corrupted
  841.  
  842. XWimp_Poll                      *       &600C7
  843. Wimp_Poll                       *       &400C7
  844.    ;Entry
  845.    ;  R0 = mask (Bits)
  846.    ;  R1 = block (pointer to Wimp_Block)
  847.    ;  R3 = pollword (pointer to Int)
  848.    ;Exit
  849.    ;  R0 = event (Int)
  850.    ;  R2 corrupted
  851.  
  852. XWimp_RedrawWindow              *       &600C8
  853. Wimp_RedrawWindow               *       &400C8
  854.    ;Entry
  855.    ;  R1 -> redraw (Wimp_Draw)
  856.    ;Exit
  857.    ;  R0 = more (Bool)
  858.  
  859. XWimp_UpdateWindow              *       &600C9
  860. Wimp_UpdateWindow               *       &400C9
  861.    ;Entry
  862.    ;  R1 -> update (Wimp_Draw)
  863.    ;Exit
  864.    ;  R0 = more (Bool)
  865.  
  866. XWimp_GetRectangle              *       &600CA
  867. Wimp_GetRectangle               *       &400CA
  868.    ;Entry
  869.    ;  R1 = draw (pointer to Wimp_Draw)
  870.    ;Exit
  871.    ;  R0 = more (Bool)
  872.  
  873. XWimp_GetWindowState            *       &600CB
  874. Wimp_GetWindowState             *       &400CB
  875.    ;Entry
  876.    ;  R1 = state (pointer to Wimp_WindowState)
  877.    ;Exit
  878.    ;  R0 corrupted
  879.  
  880. XWimp_GetWindowInfo             *       &600CC
  881. Wimp_GetWindowInfo              *       &400CC
  882.    ;Entry
  883.    ;  R1 = info (pointer to Wimp_WindowInfo)
  884.    ;Exit
  885.    ;  R0 corrupted
  886.  
  887. XWimp_GetWindowInfoHeaderOnly   *       &600CC
  888. Wimp_GetWindowInfoHeaderOnly    *       &400CC
  889.    ;Entry
  890.    ;  R1 = &1 :OR: info (pointer to Wimp_WindowInfo)
  891.    ;Exit
  892.    ;  R0 corrupted
  893.  
  894. XWimp_SetIconState              *       &600CD
  895. Wimp_SetIconState               *       &400CD
  896.    ;Entry
  897.    ;  R1 -> state_change (sequence of (Wimp_W, Wimp_I, Bits, Bits))
  898.    ;Exit
  899.    ;  R0 corrupted
  900.  
  901. XWimp_GetIconState              *       &600CE
  902. Wimp_GetIconState               *       &400CE
  903.    ;Entry
  904.    ;  R1 = icon_state (pointer to Wimp_IconState)
  905.    ;Exit
  906.    ;  R0 corrupted
  907.  
  908. XWimp_GetPointerInfo            *       &600CF
  909. Wimp_GetPointerInfo             *       &400CF
  910.    ;Entry
  911.    ;  R1 = pointer (pointer to Wimp_Pointer)
  912.    ;Exit
  913.    ;  R0 corrupted
  914.  
  915. XWimp_DragBox                   *       &600D0
  916. Wimp_DragBox                    *       &400D0
  917.    ;Entry
  918.    ;  R1 -> drag (Wimp_Drag)
  919.    ;Exit
  920.    ;  R0 corrupted
  921.  
  922. XWimp_ForceRedraw               *       &600D1
  923. Wimp_ForceRedraw                *       &400D1
  924.    ;Entry
  925.    ;  R0 = w (Wimp_W)
  926.    ;  R1 = x0 (Int)
  927.    ;  R2 = y0 (Int)
  928.    ;  R3 = x1 (Int)
  929.    ;  R4 = y1 (Int)
  930.    ;Exit
  931.    ;  R0 corrupted
  932.  
  933. XWimp_SetCaretPosition          *       &600D2
  934. Wimp_SetCaretPosition           *       &400D2
  935.    ;Entry
  936.    ;  R0 = w (Wimp_W)
  937.    ;  R1 = i (Wimp_I)
  938.    ;  R2 = x (Int)
  939.    ;  R3 = y (Int)
  940.    ;  R4 = height (Int)
  941.    ;  R5 = index (Int)
  942.  
  943. XWimp_GetCaretPosition          *       &600D3
  944. Wimp_GetCaretPosition           *       &400D3
  945.    ;Entry
  946.    ;  R1 = caret (pointer to Wimp_Caret)
  947.    ;Exit
  948.    ;  R0 corrupted
  949.  
  950. XWimp_CreateMenu                *       &600D4
  951. Wimp_CreateMenu                 *       &400D4
  952.    ;Entry
  953.    ;  R1 -> menu (Wimp_Menu)
  954.    ;  R2 = x (Int)
  955.    ;  R3 = y (Int)
  956.    ;Exit
  957.    ;  R0 corrupted
  958.  
  959. XWimp_DecodeMenu                *       &600D5
  960. Wimp_DecodeMenu                 *       &400D5
  961.    ;Entry
  962.    ;  R1 -> menu (Wimp_Menu)
  963.    ;  R2 -> selection (Wimp_Selection)
  964.    ;  R3 = decode (pointer to String)
  965.    ;Exit
  966.    ;  R0 corrupted
  967.  
  968. XWimp_WhichIcon                 *       &600D6
  969. Wimp_WhichIcon                  *       &400D6
  970.    ;Entry
  971.    ;  R0 = w (Wimp_W)
  972.    ;  R1 = which (pointer to Wimp_I)
  973.    ;  R2 = mask (Bits)
  974.    ;  R3 = match (Bits)
  975.    ;Exit
  976.    ;  R0 corrupted
  977.  
  978. XWimp_SetExtent                 *       &600D7
  979. Wimp_SetExtent                  *       &400D7
  980.    ;Entry
  981.    ;  R0 = w (Wimp_W)
  982.    ;  R1 -> box (OS_Box)
  983.    ;Exit
  984.    ;  R0 corrupted
  985.  
  986. XWimp_SetPointerShape           *       &600D8
  987. Wimp_SetPointerShape            *       &400D8
  988.    ;Entry
  989.    ;  R0 = shape_no (Int)
  990.    ;  R1 -> shape_data (data)
  991.    ;  R2 = width (Int)
  992.    ;  R3 = height (Int)
  993.    ;  R4 = xactive (Int)
  994.    ;  R5 = yactive (Int)
  995.    ;Exit
  996.    ;  R0 corrupted
  997.  
  998. XWimp_OpenTemplate              *       &600D9
  999. Wimp_OpenTemplate               *       &400D9
  1000.    ;Entry
  1001.    ;  R1 -> file_name (String)
  1002.    ;Exit
  1003.    ;  R0 corrupted
  1004.  
  1005. XWimp_CloseTemplate             *       &600DA
  1006. Wimp_CloseTemplate              *       &400DA
  1007.    ;Exit
  1008.    ;  R0 corrupted
  1009.  
  1010. XWimp_LoadTemplate              *       &600DB
  1011. Wimp_LoadTemplate               *       &400DB
  1012.    ;Entry
  1013.    ;  R1 = window (pointer to Wimp_Window)
  1014.    ;  R2 = data (pointer to String)
  1015.    ;  R3 -> end (Char)
  1016.    ;  R4 = font_ref (pointer to Font_F)
  1017.    ;  R5 -> name (String)
  1018.    ;  R6 = context (Int)
  1019.    ;Exit
  1020.    ;  R0 corrupted
  1021.    ;  R1 = used (Int)
  1022.    ;  R2 = data_used (Int)
  1023.    ;  R6 = context_out (Int)
  1024.  
  1025. XWimp_ProcessKey                *       &600DC
  1026. Wimp_ProcessKey                 *       &400DC
  1027.    ;Entry
  1028.    ;  R0 = c (Int)
  1029.    ;Exit
  1030.    ;  R0 corrupted
  1031.  
  1032. XWimp_CloseDown                 *       &600DD
  1033. Wimp_CloseDown                  *       &400DD
  1034.    ;Entry
  1035.    ;  R0 = t (Wimp_T)
  1036.    ;  R1 = &4B534154
  1037.    ;Exit
  1038.    ;  R0 corrupted
  1039.  
  1040. XWimp_StartTask                 *       &600DE
  1041. Wimp_StartTask                  *       &400DE
  1042.    ;Entry
  1043.    ;  R0 -> command (String)
  1044.    ;Exit
  1045.    ;  R0 = t (Wimp_T)
  1046.  
  1047. XWimp_ReportError               *       &600DF
  1048. Wimp_ReportError                *       &400DF
  1049.    ;Entry
  1050.    ;  R0 -> error (OS_Error)
  1051.    ;  R1 = flags (Bits)
  1052.    ;  R2 -> name (String)
  1053.    ;Exit
  1054.    ;  R0 corrupted
  1055.    ;  R1 = click (Bits)
  1056.  
  1057. XWimp_ReportErrorByCategory     *       &600DF
  1058. Wimp_ReportErrorByCategory      *       &400DF
  1059.    ;Entry
  1060.    ;  R0 -> error (OS_Error)
  1061.    ;  R1 = &100 :OR: flags (Bits)
  1062.    ;  R2 -> name (String)
  1063.    ;  R3 -> sprite_name (String)
  1064.    ;  R4 -> area (OSSpriteOp_Area)
  1065.    ;  R5 -> buttons (String)
  1066.    ;Exit
  1067.    ;  R0 corrupted
  1068.    ;  R1 = click (Bits)
  1069.  
  1070. XWimp_GetWindowOutline          *       &600E0
  1071. Wimp_GetWindowOutline           *       &400E0
  1072.    ;Entry
  1073.    ;  R1 = outline (pointer to Wimp_Outline)
  1074.    ;Exit
  1075.    ;  R0 corrupted
  1076.  
  1077. XWimp_PollIdle                  *       &600E1
  1078. Wimp_PollIdle                   *       &400E1
  1079.    ;Entry
  1080.    ;  R0 = mask (Bits)
  1081.    ;  R1 = block (pointer to Wimp_Block)
  1082.    ;  R2 = t (OS_T)
  1083.    ;  R3 = pollword (pointer to Int)
  1084.    ;Exit
  1085.    ;  R0 = event (Int)
  1086.  
  1087. XWimp_PlotIcon                  *       &600E2
  1088. Wimp_PlotIcon                   *       &400E2
  1089.    ;Entry
  1090.    ;  R1 -> icon (Wimp_Icon)
  1091.    ;Exit
  1092.    ;  R0 corrupted
  1093.  
  1094. XWimp_SetMode                   *       &600E3
  1095. Wimp_SetMode                    *       &400E3
  1096.    ;Entry
  1097.    ;  R0 = mode (OS_Mode)
  1098.    ;Exit
  1099.    ;  R0 corrupted
  1100.  
  1101. XWimp_SetPalette                *       &600E4
  1102. Wimp_SetPalette                 *       &400E4
  1103.    ;Entry
  1104.    ;  R1 -> palette (OS_Palette)
  1105.    ;Exit
  1106.    ;  R0 corrupted
  1107.  
  1108. XWimp_ReadPalette               *       &600E5
  1109. Wimp_ReadPalette                *       &400E5
  1110.    ;Entry
  1111.    ;  R1 = palette (pointer to OS_Palette)
  1112.    ;  R2 = &0
  1113.    ;Exit
  1114.    ;  R0 corrupted
  1115.  
  1116. XWimp_ReadTruePalette           *       &600E5
  1117. Wimp_ReadTruePalette            *       &400E5
  1118.    ;Entry
  1119.    ;  R1 = palette (pointer to OS_Palette)
  1120.    ;  R2 = &45555254
  1121.    ;Exit
  1122.    ;  R0 corrupted
  1123.  
  1124. XWimp_SetColour                 *       &600E6
  1125. Wimp_SetColour                  *       &400E6
  1126.    ;Entry
  1127.    ;  R0 = colour (Int)
  1128.    ;Exit
  1129.    ;  R0 corrupted
  1130.  
  1131. XWimp_SendMessage               *       &600E7
  1132. Wimp_SendMessage                *       &400E7
  1133.    ;Entry
  1134.    ;  R0 = event (Int)
  1135.    ;  R1 -> message (Wimp_Message)
  1136.    ;  R2 = to (Wimp_T)
  1137.    ;Exit
  1138.    ;  R0 corrupted
  1139.    ;  R2 corrupted
  1140.  
  1141. XWimp_SendMessageToWindow       *       &600E7
  1142. Wimp_SendMessageToWindow        *       &400E7
  1143.    ;Entry
  1144.    ;  R0 = event (Int)
  1145.    ;  R1 -> message (Wimp_Message)
  1146.    ;  R2 = to_w (Wimp_W)
  1147.    ;  R3 = to_i (Wimp_I)
  1148.    ;Exit
  1149.    ;  R0 corrupted
  1150.    ;  R2 = to_t (Wimp_T)
  1151.  
  1152. XWimp_CreateSubMenu             *       &600E8
  1153. Wimp_CreateSubMenu              *       &400E8
  1154.    ;Entry
  1155.    ;  R1 -> sub_menu (Wimp_Menu)
  1156.    ;  R2 = x (Int)
  1157.    ;  R3 = y (Int)
  1158.    ;Exit
  1159.    ;  R0 corrupted
  1160.  
  1161. XWimp_BaseOfSprites             *       &600EA
  1162. Wimp_BaseOfSprites              *       &400EA
  1163.    ;Exit
  1164.    ;  R0 -> rom (OSSpriteOp_Area)
  1165.    ;  R1 -> ram (OSSpriteOp_Area)
  1166.  
  1167. XWimp_BlockCopy                 *       &600EB
  1168. Wimp_BlockCopy                  *       &400EB
  1169.    ;Entry
  1170.    ;  R0 = w (Wimp_W)
  1171.    ;  R1 = x0 (Int)
  1172.    ;  R2 = y0 (Int)
  1173.    ;  R3 = x1 (Int)
  1174.    ;  R4 = y1 (Int)
  1175.    ;  R5 = X0 (Int)
  1176.    ;  R6 = Y0 (Int)
  1177.  
  1178. XWimp_SlotSize                  *       &600EC
  1179. Wimp_SlotSize                   *       &400EC
  1180.    ;Entry
  1181.    ;  R0 = new_curr_slot (Int)
  1182.    ;  R1 = new_next_slot (Int)
  1183.    ;Exit
  1184.    ;  R0 = curr_slot (Int)
  1185.    ;  R1 = next_slot (Int)
  1186.    ;  R2 = free_slot (Int)
  1187.    ;  R4 corrupted
  1188.  
  1189. XWimp_ReadPixTrans              *       &600ED
  1190. Wimp_ReadPixTrans               *       &400ED
  1191.    ;Entry
  1192.    ;  R0 = flags (Bits)
  1193.    ;  R1 -> area (OSSpriteOp_Area)
  1194.    ;  R2 = id (OSSpriteOp_Id)
  1195.    ;  R6 = factors (pointer to OS_Factors)
  1196.    ;  R7 = trans_tab (pointer to OSSpriteOp_TransTab)
  1197.    ;Exit
  1198.    ;  R0 corrupted
  1199.  
  1200. XWimp_ClaimFreeMemory           *       &600EE
  1201. Wimp_ClaimFreeMemory            *       &400EE
  1202.  
  1203. WimpClaimFreeMemory_Alloc       *       &1
  1204.    ;Entry
  1205.    ;  R0 = &1
  1206.    ;  R1 = size (Int)
  1207.    ;Exit
  1208.    ;  R0 corrupted
  1209.    ;  R1 = size_out (Int)
  1210.    ;  R2 = blk (pointer to Void)
  1211.  
  1212. WimpClaimFreeMemory_Free        *       &0
  1213.    ;Entry
  1214.    ;  R0 = &0
  1215.    ;Exit
  1216.    ;  R0 corrupted
  1217.    ;  R1 corrupted
  1218.    ;  R2 corrupted
  1219.  
  1220. XWimp_CommandWindow             *       &600EF
  1221. Wimp_CommandWindow              *       &400EF
  1222.    ;Entry
  1223.    ;  R0 -> op (String)
  1224.    ;Exit
  1225.    ;  R0 corrupted
  1226.  
  1227. XWimp_TextColour                *       &600F0
  1228. Wimp_TextColour                 *       &400F0
  1229.    ;Entry
  1230.    ;  R0 = colour (Wimp_Colour)
  1231.    ;Exit
  1232.    ;  R0 corrupted
  1233.  
  1234. XWimp_TransferBlock             *       &600F1
  1235. Wimp_TransferBlock              *       &400F1
  1236.    ;Entry
  1237.    ;  R0 = from_t (Wimp_T)
  1238.    ;  R1 = from (pointer to data)
  1239.    ;  R2 = to_t (Wimp_T)
  1240.    ;  R3 = to (pointer to data)
  1241.    ;  R4 = len (Int)
  1242.    ;Exit
  1243.    ;  R0 corrupted
  1244.  
  1245. XWimp_SetFontColours            *       &600F3
  1246. Wimp_SetFontColours             *       &400F3
  1247.    ;Entry
  1248.    ;  R1 = fg (Wimp_Colour)
  1249.    ;  R2 = bg (Wimp_Colour)
  1250.    ;Exit
  1251.    ;  R0 corrupted
  1252.  
  1253. XWimp_GetMenuState              *       &600F4
  1254. Wimp_GetMenuState               *       &400F4
  1255.    ;Entry
  1256.    ;  R0 = flags (Bits)
  1257.    ;  R1 = selection (pointer to Wimp_Selection)
  1258.    ;  R2 = w (Wimp_W)
  1259.    ;  R3 = i (Wimp_I)
  1260.    ;Exit
  1261.    ;  R0 corrupted
  1262.  
  1263. XWimp_RegisterFilter            *       &600F5
  1264. Wimp_RegisterFilter             *       &400F5
  1265.    ;Entry
  1266.    ;  R0 = type (Bits)
  1267.    ;  R1 -> filter_code (code)
  1268.    ;  R2 = handle (pointer to data)
  1269.    ;Exit
  1270.    ;  R0 corrupted
  1271.  
  1272. XWimp_AddMessages               *       &600F6
  1273. Wimp_AddMessages                *       &400F6
  1274.    ;Entry
  1275.    ;  R0 -> messages (Wimp_MessageList)
  1276.    ;Exit
  1277.    ;  R0 corrupted
  1278.  
  1279. XWimp_RemoveMessages            *       &600F7
  1280. Wimp_RemoveMessages             *       &400F7
  1281.    ;Entry
  1282.    ;  R0 -> messages (Wimp_MessageList)
  1283.    ;Exit
  1284.    ;  R0 corrupted
  1285.  
  1286. XWimp_SetColourMapping          *       &600F8
  1287. Wimp_SetColourMapping           *       &400F8
  1288.    ;Entry
  1289.    ;  R1 -> palette (OS_Palette)
  1290.    ;  R2 -> map2 (Byte)
  1291.    ;  R3 -> map4 (Byte)
  1292.    ;  R4 -> map16 (Byte)
  1293.    ;  R5 = &0
  1294.    ;  R6 = &0
  1295.    ;  R7 = &0
  1296.    ;Exit
  1297.    ;  R0 corrupted
  1298.  
  1299. XWimp_TextOp                    *       &600F9
  1300. Wimp_TextOp                     *       &400F9
  1301.  
  1302. WimpTextOp_SetColour            *       &0
  1303.    ;Entry
  1304.    ;  R0 = &0
  1305.    ;  R1 = fg (OS_Colour)
  1306.    ;  R2 = bg (OS_Colour)
  1307.    ;Exit
  1308.    ;  R0 corrupted
  1309.  
  1310. WimpTextOp_StringWidth          *       &1
  1311.    ;Entry
  1312.    ;  R0 = &1
  1313.    ;  R1 -> s (String)
  1314.    ;  R2 = len (Int)
  1315.    ;Exit
  1316.    ;  R0 = width (Int)
  1317.  
  1318. WimpTextOp_Paint                *       &2
  1319.    ;Entry
  1320.    ;  R0 = &2 :OR: flags (Bits)
  1321.    ;  R1 -> s (String)
  1322.    ;  R2 = &FFFFFFFF
  1323.    ;  R3 = &FFFFFFFF
  1324.    ;  R4 = x0 (Int)
  1325.    ;  R5 = y0 (Int)
  1326.  
  1327. XWimp_SetWatchdogState          *       &600FA
  1328. Wimp_SetWatchdogState           *       &400FA
  1329.    ;Entry
  1330.    ;  R0 = enable (Bool)
  1331.    ;  R1 = code_word (Int)
  1332.    ;Exit
  1333.    ;  R0 corrupted
  1334.  
  1335. XWimp_Extend                    *       &600FB
  1336. Wimp_Extend                     *       &400FB
  1337.  
  1338. XWimp_ResizeIcon                *       &600FC
  1339. Wimp_ResizeIcon                 *       &400FC
  1340.    ;Entry
  1341.    ;  R0 = w (Wimp_W)
  1342.    ;  R1 = i (Wimp_I)
  1343.    ;  R2 = x0 (Int)
  1344.    ;  R3 = y0 (Int)
  1345.    ;  R4 = x1 (Int)
  1346.    ;  R5 = y1 (Int)
  1347.    ;Exit
  1348.    ;  R0 corrupted
  1349.  
  1350. Service_Memory                  *       &11
  1351.    ;Entry
  1352.    ;  R0 = change (Int)
  1353.    ;  R1 = &11
  1354.    ;  R2 = cao (pointer to data)
  1355.  
  1356. Service_StartWimp               *       &49
  1357.    ;Entry
  1358.    ;  R1 = &49
  1359.  
  1360. Service_StartedWimp             *       &4A
  1361.    ;Entry
  1362.    ;  R1 = &4A
  1363.  
  1364. Service_MouseTrap               *       &52
  1365.    ;Entry
  1366.    ;  R1 = &52
  1367.  
  1368. Service_WimpCloseDown           *       &53
  1369.    ;Entry
  1370.    ;  R1 = &53
  1371.  
  1372. Service_WimpReportError         *       &57
  1373.    ;Entry
  1374.    ;  R0 = opening (Bool)
  1375.    ;  R1 = &57
  1376.  
  1377. Service_WimpSaveDesktop         *       &5C
  1378.    ;Entry
  1379.    ;  R0 = flags (Bits)
  1380.    ;  R1 = &5C
  1381.    ;  R2 = file (OS_F)
  1382.    ;Exit
  1383.    ;  R0 -> error (OS_Error)
  1384.    ;  R1 = unclaimed (Bool)
  1385.  
  1386. Service_WimpPalette             *       &5D
  1387.    ;Entry
  1388.    ;  R1 = &5D
  1389.  
  1390. Service_DesktopWelcome          *       &7C
  1391.    ;Entry
  1392.    ;  R1 = &7C
  1393.  
  1394. Service_ShutDown                *       &7E
  1395.    ;Entry
  1396.    ;  R1 = &7E
  1397.  
  1398. Service_ShutDownComplete        *       &80
  1399.    ;Entry
  1400.    ;  R1 = &80
  1401.  
  1402. Service_WimpSpritesMoved        *       &85
  1403.    ;Entry
  1404.    ;  R1 = &85
  1405.  
  1406. Service_WimpRegisterFilters     *       &86
  1407.    ;Entry
  1408.    ;  R1 = &86
  1409.  
  1410. Service_ErrorStarting           *       &400C0
  1411.    ;Entry
  1412.    ;  R1 = &400C0
  1413.    ;  R2 -> error (OS_Error)
  1414.    ;  R3 = flags (Bits)
  1415.    ;  R4 -> name (String)
  1416.    ;  R5 -> sprite_name (String)
  1417.    ;  R6 -> area (OSSpriteOp_Area)
  1418.    ;  R7 -> buttons (String)
  1419.    ;Exit
  1420.    ;  R2 -> error_out (OS_Error)
  1421.    ;  R3 = flags_out (Bits)
  1422.    ;  R4 -> name_out (String)
  1423.    ;  R5 -> sprite_name_out (String)
  1424.    ;  R6 -> area_out (OSSpriteOp_Area)
  1425.    ;  R7 -> buttons_out (String)
  1426.  
  1427. Service_ErrorButtonPressed      *       &400C1
  1428.    ;Entry
  1429.    ;  R0 = &0
  1430.    ;  R1 = &400C1
  1431.    ;  R2 = button (Int)
  1432.    ;  R3 -> button_list (String)
  1433.    ;Exit
  1434.    ;  R0 = redisplay (Bool)
  1435.    ;  R1 = unclaimed (Bool)
  1436.    ;  R2 = button_out (Int)
  1437.  
  1438. Service_ErrorEnding             *       &400C2
  1439.    ;Entry
  1440.    ;  R1 = &400C2
  1441.    ;  R2 = button (Int)
  1442.    ;Exit
  1443.    ;  R1 = unclaimed (Bool)
  1444.    ;  R2 = button_out (Int)
  1445.  
  1446.         ]
  1447.         END
  1448.