Initial revision
[ssr] / StraySrc / Dynamite / dynamite / sh / wSpace
1 ;
2 ; wSpace.sh
3 ;
4 ; Dynamite workspace layout
5 ;
6 ; © 1994 Straylight
7 ;
8
9 ^ 0,R12
10 dyn__wStart # 0
11
12 ; --- Information about the Dynamite area ---
13
14 dyn_machine # 4 ;Machine version number
15 dyn_areaHandle # 0 ;Handle of dynamic area or...
16 dyn_oldChnArea # 4 ;Old ChangeDynArea address
17 dyn_areaBase # 0 ;Base addr of area or...
18 dyn_oldReadArea # 4 ;Old ReadDynArea address
19 dyn_oldValidate # 4 ;Old ValidateAddress vector
20
21 ; --- Variables for ReadDynamicArea hackery ---
22
23 dyn_switchBase # 4 ;Base of TaskManager module
24 dyn_switchSize # 4 ;Size of TaskManager module
25 dyn_wimpBase # 4 ;Base of WindowManager module
26 dyn_wimpSize # 4 ;Size of WindowManager module
27
28 ; --- Low-level heap details ---
29
30 dyn_areaSize # 4 ;Current size of area
31 dyn_sprSize # 4 ;Address of size of spr area
32 dyn_pageSize # 4 ;The page size of the machine
33 dyn_log2PageSize # 4 ;Make a good guess
34 dyn_pageCount # 4 ;Number of pages
35
36 ; --- Heap variables ---
37
38 dyn_heapSize # 4 ;Space actually used in heap
39 dyn_lockCount # 4 ;How often we've been locked
40 dyn_hpFlags # 4 ;Some interesting heap flags
41
42 hpFlag_tidy EQU (1<<0) ;The heap is nice and tidy
43 hpFlag_mSent EQU (1<<1) ;A message has been sent
44
45 ; --- Anchor allocation ---
46
47 dyn_ancTable # 4 ;Pointer to the free handles
48 dyn_ancList # 4 ;List of big anchor blocks
49
50 ; --- Background compactor variables ---
51
52 dyn_taskHandle # 4 ;The compactor's task handle
53 dyn_launch # 4 ;Whether we're launching
54
55 ; --- Relocation stack ---
56
57 dyn_stackPtr # 4 ;The stack pointer
58
59 ; --- Big buffers and stuff ---
60
61 dyn_pollBlk # 256 ;The poll block thing
62 dyn_stack # 4*256 ;The stack area
63
64 dyn_wSize EQU {VAR}-dyn__wStart
65
66 END