home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / oslib / Hdr / OSSpriteOp < prev    next >
Encoding:
Text File  |  1994-09-22  |  14.2 KB  |  538 lines

  1. ;AAsm header file for OSSpriteOp
  2. ;written by DefMod (Aug  8 1994) on Thu Sep 22 15:27:00 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: OSSpriteOp_Hdr
  21.         GBLS    OSSpriteOp_Hdr
  22.  
  23. ;Symbols for constants
  24. OSSpriteOp_NameLimit            *       12
  25. OSSpriteOp_SystemArea           *       &0
  26. OSSpriteOp_UserArea             *       &100
  27. OSSpriteOp_Name                 *       &100
  28. OSSpriteOp_Ptr                  *       &200
  29. OSSpriteOp_TrfmCoords           *       &0
  30. OSSpriteOp_GivenRectangle       *       &1
  31. OSSpriteOp_GivenCoords          *       &1
  32. OSSpriteOp_GivenRect            *       &2
  33. OSSpriteOp_PointerShape         *       &F
  34. OSSpriteOp_PointerShapeShift    *       0
  35. OSSpriteOp_PointerIgnoreShapeData *       &10
  36. OSSpriteOp_PointerIgnorePalette *       &20
  37. OSSpriteOp_PointerIgnoreShape   *       &40
  38. OSSpriteOp_Unspecified          *       &100
  39. Error_SpriteOpNoWorkSpace       *       &80
  40. Error_SpriteOpNoRoom            *       &82
  41. Error_SpriteOpDoesntExist       *       &86
  42. Error_SpriteOpNoSprites         *       &83
  43. Error_SpriteOpNotGraphics       *       &81
  44. Error_SpriteOpNotEnoughRoom     *       &85
  45. Error_SpriteOpBadSpriteFile     *       &86
  46. Error_SpriteOpNoRoomToMerge     *       &87
  47. Error_SpriteOpInvalidSecondPtr  *       &88
  48. Error_SpriteOpInvalidRowOrCol   *       &89
  49. Error_SpriteOpInvalidHeight     *       &8A
  50. Error_SpriteOpInvalidWidth      *       &8B
  51. Error_SpriteOpNoRoomToInsert    *       &8C
  52. Error_SpriteOpSpriteAlreadyExists *       &8D
  53. Error_SpriteOpInvalidSpriteMode *       &8E
  54. Error_SpriteOpBadReasonCode     *       &8F
  55. Error_SpriteOpCantDoSystem      *       &90
  56. Error_SpriteOpBadTranslation    *       &91
  57. Error_SpriteOpBadGreyScale      *       &92
  58. Error_SpriteOpBadPointerShape   *       &93
  59. Error_SpriteOpBadAppend         *       &94
  60. Error_SpriteOpCantInTeletext    *       &95
  61. Error_SpriteOpInvalidSaveArea   *       &96
  62. Error_SpriteOpSpriteIsCurrentDest *       &97
  63. Error_SpriteOpBadFlags          *       &98
  64. Error_SpriteOpBadCoordBlock     *       &99
  65. Error_SpriteOpBadSourceRectangle *       &9A
  66. Error_SpriteOpBadTransformation *       &9B
  67. Error_SpriteOpBadDepth          *       &9C
  68. Error_SpriteOpBadSwitchDepth    *       &9D
  69.  
  70. ;Symbols for structure offsets and sizes
  71.                                 ^       0
  72. OSSpriteOp_TransTab_c           #       Byte
  73. OSSpriteOp_TransTab             *       @
  74.  
  75.                                 ^       0
  76. OSSpriteOp_Area_size            #       Int
  77. OSSpriteOp_Area_sprite_count    #       Int
  78. OSSpriteOp_Area_first           #       Int
  79. OSSpriteOp_Area_used            #       Int
  80. OSSpriteOp_Area                 *       @
  81.  
  82.                                 ^       0
  83. OSSpriteOp_Header_size          #       Int
  84. OSSpriteOp_Header_name          #       12*Char
  85. OSSpriteOp_Header_width         #       Int
  86. OSSpriteOp_Header_height        #       Int
  87. OSSpriteOp_Header_left_bit      #       Int
  88. OSSpriteOp_Header_right_bit     #       Int
  89. OSSpriteOp_Header_image         #       Int
  90. OSSpriteOp_Header_mask          #       Int
  91. OSSpriteOp_Header_mode          #       OS_Mode
  92. OSSpriteOp_Header               *       @
  93.  
  94. OSSpriteOp_Id                   *       4 ;abstract type
  95.                                 ^       0
  96. OSSpriteOp_SaveArea_a           #       Int
  97. OSSpriteOp_SaveArea             *       @
  98.  
  99.  
  100. ;Symbols for SWI's and SWI reason codes
  101. XOS_SpriteOp                    *       &2002E
  102. OS_SpriteOp                     *       &2E
  103.  
  104. OSSpriteOp_ScreenSave           *       &2
  105.    ;Entry
  106.    ;  R0 = &2
  107.    ;  R2 -> file_name (String)
  108.    ;  R3 = save_palette (Bool)
  109.  
  110. OSSpriteOp_ScreenLoad           *       &3
  111.    ;Entry
  112.    ;  R0 = &3
  113.    ;  R2 -> file_name (String)
  114.  
  115. OSSpriteOp_ReadAreaCB           *       &8
  116.    ;Entry
  117.    ;  R0 = &8 :OR: flags (Bits)
  118.    ;  R1 -> area (OSSpriteOp_Area)
  119.    ;Exit
  120.    ;  R2 = size (Int)
  121.    ;  R3 = count (Int)
  122.    ;  R4 = first (Int)
  123.    ;  R5 = used (Int)
  124.  
  125. OSSpriteOp_ClearSprites         *       &9
  126.    ;Entry
  127.    ;  R0 = &9 :OR: flags (Bits)
  128.    ;  R1 -> area (OSSpriteOp_Area)
  129.  
  130. OSSpriteOp_LoadSpriteFile       *       &A
  131.    ;Entry
  132.    ;  R0 = &A :OR: flags (Bits)
  133.    ;  R1 -> area (OSSpriteOp_Area)
  134.    ;  R2 -> file_name (String)
  135.  
  136. OSSpriteOp_MergeSpriteFile      *       &B
  137.    ;Entry
  138.    ;  R0 = &B :OR: flags (Bits)
  139.    ;  R1 -> area (OSSpriteOp_Area)
  140.    ;  R2 -> file_name (String)
  141.  
  142. OSSpriteOp_SaveSpriteFile       *       &C
  143.    ;Entry
  144.    ;  R0 = &C :OR: flags (Bits)
  145.    ;  R1 -> area (OSSpriteOp_Area)
  146.    ;  R2 -> file_name (String)
  147.  
  148. OSSpriteOp_ReturnName           *       &D
  149.    ;Entry
  150.    ;  R0 = &D :OR: flags (Bits)
  151.    ;  R1 -> area (OSSpriteOp_Area)
  152.    ;  R2 = buffer (pointer to String)
  153.    ;  R3 = size (Int)
  154.    ;  R4 = sprite_no (Int)
  155.    ;Exit
  156.    ;  R3 = used (Int)
  157.  
  158. OSSpriteOp_GetSprite            *       &E
  159.    ;Entry
  160.    ;  R0 = &E :OR: flags (Bits)
  161.    ;  R1 -> area (OSSpriteOp_Area)
  162.    ;  R2 -> sprite_name (String)
  163.    ;  R3 = get_palette (Bool)
  164.    ;Exit
  165.    ;  R2 -> header (OSSpriteOp_Header)
  166.  
  167. OSSpriteOp_CreateSprite         *       &F
  168.    ;Entry
  169.    ;  R0 = &F :OR: flags (Bits)
  170.    ;  R1 -> area (OSSpriteOp_Area)
  171.    ;  R2 -> sprite_name (String)
  172.    ;  R3 = create_palette (Bool)
  173.    ;  R4 = width (Int)
  174.    ;  R5 = height (Int)
  175.    ;  R6 = mode (OS_Mode)
  176.  
  177. OSSpriteOp_GetSpriteUserCoords  *       &10
  178.    ;Entry
  179.    ;  R0 = &10 :OR: flags (Bits)
  180.    ;  R1 -> area (OSSpriteOp_Area)
  181.    ;  R2 -> sprite_name (String)
  182.    ;  R3 = get_palette (Bool)
  183.    ;  R4 = x0 (Int)
  184.    ;  R5 = y0 (Int)
  185.    ;  R6 = x1 (Int)
  186.    ;  R7 = y1 (Int)
  187.  
  188. OSSpriteOp_SelectSprite         *       &18
  189.    ;Entry
  190.    ;  R0 = &18 :OR: flags (Bits)
  191.    ;  R1 -> area (OSSpriteOp_Area)
  192.    ;  R2 = id (OSSpriteOp_Id)
  193.    ;Exit
  194.    ;  R2 -> header (OSSpriteOp_Header)
  195.  
  196. OSSpriteOp_DeleteSprite         *       &19
  197.    ;Entry
  198.    ;  R0 = &19 :OR: flags (Bits)
  199.    ;  R1 -> area (OSSpriteOp_Area)
  200.    ;  R2 = id (OSSpriteOp_Id)
  201.  
  202. OSSpriteOp_RenameSprite         *       &1A
  203.    ;Entry
  204.    ;  R0 = &1A :OR: flags (Bits)
  205.    ;  R1 -> area (OSSpriteOp_Area)
  206.    ;  R2 = id (OSSpriteOp_Id)
  207.    ;  R3 -> sprite_name (String)
  208.  
  209. OSSpriteOp_CopySprite           *       &1B
  210.    ;Entry
  211.    ;  R0 = &1B :OR: flags (Bits)
  212.    ;  R1 -> area (OSSpriteOp_Area)
  213.    ;  R2 = id (OSSpriteOp_Id)
  214.    ;  R3 -> sprite_name (String)
  215.  
  216. OSSpriteOp_PutSprite            *       &1C
  217.    ;Entry
  218.    ;  R0 = &1C :OR: flags (Bits)
  219.    ;  R1 -> area (OSSpriteOp_Area)
  220.    ;  R2 = id (OSSpriteOp_Id)
  221.    ;  R5 = action (OS_Action)
  222.  
  223. OSSpriteOp_CreateMask           *       &1D
  224.    ;Entry
  225.    ;  R0 = &1D :OR: flags (Bits)
  226.    ;  R1 -> area (OSSpriteOp_Area)
  227.    ;  R2 = id (OSSpriteOp_Id)
  228.  
  229. OSSpriteOp_RemoveMask           *       &1E
  230.    ;Entry
  231.    ;  R0 = &1E :OR: flags (Bits)
  232.    ;  R1 -> area (OSSpriteOp_Area)
  233.    ;  R2 = id (OSSpriteOp_Id)
  234.  
  235. OSSpriteOp_InsertRow            *       &1F
  236.    ;Entry
  237.    ;  R0 = &1F :OR: flags (Bits)
  238.    ;  R1 -> area (OSSpriteOp_Area)
  239.    ;  R2 = id (OSSpriteOp_Id)
  240.    ;  R3 = row (Int)
  241.  
  242. OSSpriteOp_DeleteRow            *       &20
  243.    ;Entry
  244.    ;  R0 = &20 :OR: flags (Bits)
  245.    ;  R1 -> area (OSSpriteOp_Area)
  246.    ;  R2 = id (OSSpriteOp_Id)
  247.    ;  R3 = row (Int)
  248.  
  249. OSSpriteOp_FlipAboutXAxis       *       &21
  250.    ;Entry
  251.    ;  R0 = &21 :OR: flags (Bits)
  252.    ;  R1 -> area (OSSpriteOp_Area)
  253.    ;  R2 = id (OSSpriteOp_Id)
  254.  
  255. OSSpriteOp_PutSpriteUserCoords  *       &22
  256.    ;Entry
  257.    ;  R0 = &22 :OR: flags (Bits)
  258.    ;  R1 -> area (OSSpriteOp_Area)
  259.    ;  R2 = id (OSSpriteOp_Id)
  260.    ;  R3 = x (Int)
  261.    ;  R4 = y (Int)
  262.    ;  R5 = action (OS_Action)
  263.  
  264. OSSpriteOp_AppendSprite         *       &23
  265.    ;Entry
  266.    ;  R0 = &23 :OR: flags (Bits)
  267.    ;  R1 -> area (OSSpriteOp_Area)
  268.    ;  R2 = id0 (OSSpriteOp_Id)
  269.    ;  R3 = id1 (OSSpriteOp_Id)
  270.    ;  R4 = append_vertically (Bool)
  271.  
  272. OSSpriteOp_SetPointerShape      *       &24
  273.    ;Entry
  274.    ;  R0 = &24 :OR: flags (Bits)
  275.    ;  R1 -> area (OSSpriteOp_Area)
  276.    ;  R2 = id (OSSpriteOp_Id)
  277.    ;  R3 = pointer_flags (Bits)
  278.    ;  R4 = xactive (Int)
  279.    ;  R5 = yactive (Int)
  280.    ;  R6 -> factors (OS_Factors)
  281.    ;  R7 -> trans_tab (OSSpriteOp_TransTab)
  282.  
  283. OSSpriteOp_ReadPaletteSize      *       &25
  284.    ;Entry
  285.    ;  R0 = &25 :OR: flags (Bits)
  286.    ;  R1 -> area (OSSpriteOp_Area)
  287.    ;  R2 = id (OSSpriteOp_Id)
  288.    ;  R3 = &FFFFFFFF
  289.    ;Exit
  290.    ;  R3 = size (Int)
  291.    ;  R4 -> palette (OS_SpritePalette)
  292.    ;  R5 = mode (OS_Mode)
  293.  
  294. OSSpriteOp_RemovePalette        *       &25
  295.    ;Entry
  296.    ;  R0 = &25 :OR: flags (Bits)
  297.    ;  R1 -> area (OSSpriteOp_Area)
  298.    ;  R2 = id (OSSpriteOp_Id)
  299.    ;  R3 = &0
  300.    ;Exit
  301.    ;  R4 corrupted
  302.    ;  R5 corrupted
  303.  
  304. OSSpriteOp_CreatePalette        *       &25
  305.    ;Entry
  306.    ;  R0 = &25 :OR: flags (Bits)
  307.    ;  R1 -> area (OSSpriteOp_Area)
  308.    ;  R2 = id (OSSpriteOp_Id)
  309.    ;  R3 = &1
  310.    ;Exit
  311.    ;  R4 corrupted
  312.    ;  R5 corrupted
  313.  
  314. OSSpriteOp_CreateTruePalette    *       &25
  315.    ;Entry
  316.    ;  R0 = &25 :OR: flags (Bits)
  317.    ;  R1 -> area (OSSpriteOp_Area)
  318.    ;  R2 = id (OSSpriteOp_Id)
  319.    ;  R3 = &80000000
  320.    ;Exit
  321.    ;  R4 corrupted
  322.    ;  R5 corrupted
  323.  
  324. OSSpriteOp_ReadSpriteSize       *       &28
  325.    ;Entry
  326.    ;  R0 = &28 :OR: flags (Bits)
  327.    ;  R1 -> area (OSSpriteOp_Area)
  328.    ;  R2 = id (OSSpriteOp_Id)
  329.    ;Exit
  330.    ;  R3 = width (Int)
  331.    ;  R4 = height (Int)
  332.    ;  R5 = mask (Bool)
  333.    ;  R6 = mode (OS_Mode)
  334.  
  335. OSSpriteOp_ReadPixelColour      *       &29
  336.    ;Entry
  337.    ;  R0 = &29 :OR: flags (Bits)
  338.    ;  R1 -> area (OSSpriteOp_Area)
  339.    ;  R2 = id (OSSpriteOp_Id)
  340.    ;  R3 = x (Int)
  341.    ;  R4 = y (Int)
  342.    ;Exit
  343.    ;  R5 = gcol (OS_GCOL)
  344.    ;  R6 = tint (OS_Tint)
  345.  
  346. OSSpriteOp_WritePixelColour     *       &2A
  347.    ;Entry
  348.    ;  R0 = &2A :OR: flags (Bits)
  349.    ;  R1 -> area (OSSpriteOp_Area)
  350.    ;  R2 = id (OSSpriteOp_Id)
  351.    ;  R3 = x (Int)
  352.    ;  R4 = y (Int)
  353.    ;  R5 = gcol (OS_GCOL)
  354.    ;  R6 = tint (OS_Tint)
  355.  
  356. OSSpriteOp_ReadPixelMask        *       &2B
  357.    ;Entry
  358.    ;  R0 = &2B :OR: flags (Bits)
  359.    ;  R1 -> area (OSSpriteOp_Area)
  360.    ;  R2 = id (OSSpriteOp_Id)
  361.    ;  R3 = x (Int)
  362.    ;  R4 = y (Int)
  363.    ;Exit
  364.    ;  R5 = solid (Bool)
  365.  
  366. OSSpriteOp_WritePixelMask       *       &2C
  367.    ;Entry
  368.    ;  R0 = &2C :OR: flags (Bits)
  369.    ;  R1 -> area (OSSpriteOp_Area)
  370.    ;  R2 = id (OSSpriteOp_Id)
  371.    ;  R3 = x (Int)
  372.    ;  R4 = y (Int)
  373.    ;  R5 = solid (Bool)
  374.  
  375. OSSpriteOp_InsertColumn         *       &2D
  376.    ;Entry
  377.    ;  R0 = &2D :OR: flags (Bits)
  378.    ;  R1 -> area (OSSpriteOp_Area)
  379.    ;  R2 = id (OSSpriteOp_Id)
  380.    ;  R3 = column (Int)
  381.  
  382. OSSpriteOp_DeleteColumn         *       &2E
  383.    ;Entry
  384.    ;  R0 = &2E :OR: flags (Bits)
  385.    ;  R1 -> area (OSSpriteOp_Area)
  386.    ;  R2 = id (OSSpriteOp_Id)
  387.    ;  R3 = column (Int)
  388.  
  389. OSSpriteOp_FlipAboutYAxis       *       &2F
  390.    ;Entry
  391.    ;  R0 = &2F :OR: flags (Bits)
  392.    ;  R1 -> area (OSSpriteOp_Area)
  393.    ;  R2 = id (OSSpriteOp_Id)
  394.  
  395. OSSpriteOp_PlotMask             *       &30
  396.    ;Entry
  397.    ;  R0 = &30 :OR: flags (Bits)
  398.    ;  R1 -> area (OSSpriteOp_Area)
  399.    ;  R2 = id (OSSpriteOp_Id)
  400.  
  401. OSSpriteOp_PlotMaskUserCoords   *       &31
  402.    ;Entry
  403.    ;  R0 = &31 :OR: flags (Bits)
  404.    ;  R1 -> area (OSSpriteOp_Area)
  405.    ;  R2 = id (OSSpriteOp_Id)
  406.    ;  R3 = x (Int)
  407.    ;  R4 = y (Int)
  408.  
  409. OSSpriteOp_PlotMaskScaled       *       &32
  410.    ;Entry
  411.    ;  R0 = &32 :OR: flags (Bits)
  412.    ;  R1 -> area (OSSpriteOp_Area)
  413.    ;  R2 = id (OSSpriteOp_Id)
  414.    ;  R3 = x (Int)
  415.    ;  R4 = y (Int)
  416.    ;  R5 -> factors (OS_Factors)
  417.  
  418. OSSpriteOp_PaintCharScaled      *       &33
  419.    ;Entry
  420.    ;  R0 = &33
  421.    ;  R1 = c (Char)
  422.    ;  R3 = x (Int)
  423.    ;  R4 = y (Int)
  424.    ;  R6 -> factors (OS_Factors)
  425.  
  426. OSSpriteOp_PutSpriteScaled      *       &34
  427.    ;Entry
  428.    ;  R0 = &34 :OR: flags (Bits)
  429.    ;  R1 -> area (OSSpriteOp_Area)
  430.    ;  R2 = id (OSSpriteOp_Id)
  431.    ;  R3 = x (Int)
  432.    ;  R4 = y (Int)
  433.    ;  R5 = action (OS_Action)
  434.    ;  R6 -> factors (OS_Factors)
  435.    ;  R7 -> trans_tab (OSSpriteOp_TransTab)
  436.  
  437. OSSpriteOp_PutSpriteGreyScaled  *       &35
  438.    ;Entry
  439.    ;  R0 = &35 :OR: flags (Bits)
  440.    ;  R1 -> area (OSSpriteOp_Area)
  441.    ;  R2 = id (OSSpriteOp_Id)
  442.    ;  R3 = x (Int)
  443.    ;  R4 = y (Int)
  444.    ;  R5 = &0
  445.    ;  R6 -> factors (OS_Factors)
  446.    ;  R7 -> trans_tab (OSSpriteOp_TransTab)
  447.  
  448. OSSpriteOp_RemoveLeftHandWastage *       &36
  449.    ;Entry
  450.    ;  R0 = &36 :OR: flags (Bits)
  451.    ;  R1 -> area (OSSpriteOp_Area)
  452.    ;  R2 = id (OSSpriteOp_Id)
  453.  
  454. OSSpriteOp_PlotMaskTrfm         *       &37
  455.    ;Entry
  456.    ;  R0 = &37 :OR: flags (Bits)
  457.    ;  R1 -> area (OSSpriteOp_Area)
  458.    ;  R2 = id (OSSpriteOp_Id)
  459.    ;  R3 = plot_flags (Bits)
  460.    ;  R4 -> source_rect (OS_Box)
  461.    ;  R6 -> trfm (OS_Trfm)
  462.  
  463. OSSpriteOp_PutSpriteTrfm        *       &38
  464.    ;Entry
  465.    ;  R0 = &38 :OR: flags (Bits)
  466.    ;  R1 -> area (OSSpriteOp_Area)
  467.    ;  R2 = id (OSSpriteOp_Id)
  468.    ;  R3 = plot_flags (Bits)
  469.    ;  R4 -> source_rect (OS_Box)
  470.    ;  R5 = action (OS_Action)
  471.    ;  R6 -> trfm (OS_Trfm)
  472.    ;  R7 -> trans_tab (OSSpriteOp_TransTab)
  473.  
  474. OSSpriteOp_InsertDeleteRows     *       &39
  475.    ;Entry
  476.    ;  R0 = &39 :OR: flags (Bits)
  477.    ;  R1 -> area (OSSpriteOp_Area)
  478.    ;  R2 = id (OSSpriteOp_Id)
  479.    ;  R3 = row_no (Int)
  480.    ;  R4 = row_count (Int)
  481.  
  482. OSSpriteOp_InsertDeleteColumns  *       &3A
  483.    ;Entry
  484.    ;  R0 = &3A :OR: flags (Bits)
  485.    ;  R1 -> area (OSSpriteOp_Area)
  486.    ;  R2 = id (OSSpriteOp_Id)
  487.    ;  R3 = column_no (Int)
  488.    ;  R4 = column_count (Int)
  489.  
  490. OSSpriteOp_SwitchOutputToSprite *       &3C
  491.    ;Entry
  492.    ;  R0 = &3C :OR: flags (Bits)
  493.    ;  R1 -> area (OSSpriteOp_Area)
  494.    ;  R2 = id (OSSpriteOp_Id)
  495.    ;  R3 = save_area (pointer to OSSpriteOp_SaveArea)
  496.    ;Exit
  497.    ;  R0 = context0 (Int)
  498.    ;  R1 = context1 (Int)
  499.    ;  R2 = context2 (Int)
  500.    ;  R3 = context3 (Int)
  501.  
  502. OSSpriteOp_SwitchOutputToMask   *       &3D
  503.    ;Entry
  504.    ;  R0 = &3D :OR: flags (Bits)
  505.    ;  R1 -> area (OSSpriteOp_Area)
  506.    ;  R2 = id (OSSpriteOp_Id)
  507.    ;  R3 = save_area (pointer to OSSpriteOp_SaveArea)
  508.    ;Exit
  509.    ;  R0 = context0 (Int)
  510.    ;  R1 = context1 (Int)
  511.    ;  R2 = context2 (Int)
  512.    ;  R3 = context3 (Int)
  513.  
  514. OSSpriteOp_ReadSaveAreaSize     *       &3E
  515.    ;Entry
  516.    ;  R0 = &3E :OR: flags (Bits)
  517.    ;  R1 -> area (OSSpriteOp_Area)
  518.    ;  R2 = id (OSSpriteOp_Id)
  519.    ;Exit
  520.    ;  R3 = size (Int)
  521.  
  522. XOSSpriteOp_UnswitchOutput      *       &2002E
  523. OSSpriteOp_UnswitchOutput       *       &2E
  524.    ;Entry
  525.    ;  R0 = context0 (Int)
  526.    ;  R1 = context1 (Int)
  527.    ;  R2 = context2 (Int)
  528.    ;  R3 = context3 (Int)
  529.  
  530. SpriteV                         *       &1F
  531.  
  532. Service_SwitchingOutputToSprite *       &72
  533.    ;Entry
  534.    ;  R1 = &72
  535.  
  536.         ]
  537.         END
  538.