chiark / gitweb /
Initial revision
[ssr] / StraySrc / Dynamite / dynamite / sh / dynArea
1 ;
2 ; dynArea.sh
3 ;
4 ; The handling of the dynamic area itself
5 ;
6 ; © 1994 Straylight
7 ;
8
9 ;----- Overview -------------------------------------------------------------
10 ;
11 ; Functions provided:
12 ;
13 ;   da_findPage
14 ;   da_addPages
15 ;   da_removePages
16 ;   da_readSize
17 ;   da_describe
18
19 ; --- da_findPage ---
20 ;
21 ; On entry:     R2 == address of the page
22 ;
23 ; On exit:      R0 == page number
24 ;
25 ; Use:          Finds the page number of the page with the address given.
26
27                 IMPORT  da_findPage
28
29 ; --- da_addPages ---
30 ;
31 ; On entry:     R0 == number of pages to add
32 ;               R12 == workspace address
33 ;
34 ; On exit:      Possible error returned
35 ;
36 ; Use:          Increases the size of the dynamic area by the number of
37 ;               pages given in R0
38
39                 IMPORT  da_addPages
40
41 ; --- da_removePages ---
42 ;
43 ; On entry:     R0 == number of pages to remove
44 ;
45 ; On exit:      --
46 ;
47 ; Use:          Removes the given number of pages from the dynamite
48 ;               area. If the number of pages to remove is greater than
49 ;               the actual number of pages allocated, as many as possible
50 ;               are removed
51
52                 IMPORT  da_removePages
53
54 ; --- da_readSize ---
55 ;
56 ; On entry:     --
57 ;
58 ; On exit:      R0 == size of area
59 ;
60 ; Use:          Returns the size of the sprite area (including the
61 ;               dynamite area).
62
63                 IMPORT  da_readSize
64
65 ; --- da_describe ---
66 ;
67 ; On entry:     --
68 ;
69 ; On exit:      R0 == dynamic area number (3 == sprite area)
70 ;               R1 == size of area
71 ;               R2 == total free in area
72 ;
73 ; Use:          Gives back som information on the dynamite area.
74
75                 IMPORT  da_describe
76
77 ;----- That's all, folks ----------------------------------------------------
78
79                 END