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