Subversion Repositories Kolibri OS

Rev

Rev 425 | Rev 513 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 425 Rev 465
Line 1... Line -...
1
$Revision: 425 $
-
 
2
;
1
;
3
;   MEMORY MAP
2
;   MEMORY MAP
4
;
3
;
5
;   Boot:
4
;   Boot:
6
;
5
;
Line 23... Line 22...
23
;    0x9044 -  word - version (BCD)
22
;    0x9044 -  word - version (BCD)
24
;    0x9046 -  word - flags
23
;    0x9046 -  word - flags
25
;
24
;
26
;   Runtime:
25
;   Runtime:
27
;
26
;
-
 
27
; 0x00000000 -> 0x7FFFFFFF  application 2Gb
-
 
28
 
28
;   0000  ->   1FFF   window_data   - 256 entries
29
; 0x80000000 -> 1FFF   window_data   - 256 entries
29
;
30
;
30
;         0000 dword  x start
31
;         0000 dword  x start
31
;         0004 dword  y start
32
;         0004 dword  y start
32
;         0008 dword  x size
33
;         0008 dword  x size
33
;         000C dword  y size
34
;         000C dword  y size
Line 118... Line 119...
118
;   FFF2              write and read bank in screen
119
;   FFF2              write and read bank in screen
119
;   FFF4  byte        0 if first mouse draw & do not return picture under
120
;   FFF4  byte        0 if first mouse draw & do not return picture under
120
;   FFF5  byte        1 do not draw pointer
121
;   FFF5  byte        1 do not draw pointer
121
;   FFFF  byte        do not change task for 1/100 sec.
122
;   FFFF  byte        do not change task for 1/100 sec.
122
;
123
;
123
;  10000  ->  3DBFF   kernel, 32-bit run-time code (up to 183 Kb)
124
; 0x80010000 ->  3DBFF   kernel, 32-bit run-time code (up to 183 Kb)
124
;  3DC00  ->  3EBFF   stack at boot time (4Kb)
125
; 0x8003DC00 ->  3EBFF   stack at boot time (4Kb)
125
;  3EC00  ->  3F5FF   basic text font II
126
; 0x8003EC00 ->  3F5FF   basic text font II
126
;  3F600  ->  3FFFF   basic text font I
127
; 0x8003F600 ->  3FFFF   basic text font I
127
;  40000  ->  4FFFF   data of retrieved disks and partitions (Mario79)
128
; 0x80040000 ->  4FFFF   data of retrieved disks and partitions (Mario79)
Line 128... Line 129...
128
 
129
 
129
;  50000  ->  50FFF   main page directory
130
; 0x80050000 ->  50FFF   main page directory
Line 130... Line 131...
130
;  50200  ->  5FFFF   pages bitmap
131
; 0x80050200 ->  5FFFF   pages bitmap
131
 
132
 
132
;  60000  ->  7FFFF   free (128 Kb)
133
; 0x80060000 ->  7FFFF   free (128 Kb)
133
;  80000  ->  8FFFF   additional app info, in 256 byte steps - 256 entries
134
; 0x80080000 ->  8FFFF   additional app info, in 256 byte steps - 256 entries
134
;
135
;
-
 
136
;         00  11db  name of app running
-
 
137
;       0x10 dword  pointer to  fpu save area
-
 
138
;       0x14 dword  event count
-
 
139
;       0x18 dword  user fpu exceptoins handler
-
 
140
;       0x1c dword  user sse exceptions handler
-
 
141
;         20 dword  PL0 stack base
-
 
142
;         24 dword  user heap base
-
 
143
;         28 dword  user heap top
-
 
144
;         2c dword  window cursor handle
-
 
145
;         30 dword  first event in list
-
 
146
;         34 dword  last event in list
-
 
147
;         38 dword  first kernel object in list
-
 
148
;         3c dword  last kernel object in list
-
 
149
;         40 dword  thread esp
135
;           00  11db  name of app running
150
;         44 dword  io permission map page 0
-
 
151
;         48 dword  io permission map page 1
-
 
152
          4c dword  debug state: 1= load debug registers
136
;           10 108db  floating point unit save area
153
;         50-7F     unused
137
;           7f byte   0= no fpu saved ,  1= fpu saved to 0x10 -> restore
154
;
138
;           80 dword  address of random shaped window area
155
;         80 dword  address of random shaped window area
139
;           84 byte   shape area scale
156
;         84 byte   shape area scale
140
;           88 dword  free
157
;         88 dword  free
Line 151... Line 168...
151
;           B4  byte  keyboard mode: 0 = keymap, 1 = scancodes
168
;         B4  byte  keyboard mode: 0 = keymap, 1 = scancodes
152
;           B8 dword  physical address of directory table
169
;         B8 dword  physical address of directory table
153
;           BC dword  address of debug event memory
170
;         BC dword  address of debug event memory
154
;           C0  5 dd  thread debug registers: DR0,DR1,DR2,DR3,DR7
171
;         C0  5 dd  thread debug registers: DR0,DR1,DR2,DR3,DR7
155
;
172
;
156
;  90000  ->  9FFFF   tmp
173
; 0x80090000 ->  9FFFF   tmp
157
;  A0000  ->  AFFFF   screen access area
174
; 0x800A0000 ->  AFFFF   screen access area
158
;  B0000  ->  FFFFF   bios rest in peace -area
175
; 0x800B0000 ->  FFFFF   bios rest in peace -area
159
; 100000  -> 27FFFF   diskette image
176
; 0x80100000 -> 27FFFF   diskette image
160
; 280000  -> 281FFF   ramdisk fat
177
; 0x80280000 -> 281FFF   ramdisk fat
161
; 282000  -> 283FFF   floppy  fat
178
; 0x80282000 -> 283FFF   floppy  fat
162
;
179
;
163
; 284000  -> 29FFFF   free (112 Kb)
180
; 0x80284000 -> 29FFFF   free (112 Kb)
164
;
181
;
165
; 2A0000  -> 2B00ff   wav device data
182
; 0x802A0000 -> 2B00ff   wav device data
166
; 2C0000  -> 2C3fff   button info
183
; 0x802C0000 -> 2C3fff   button info
167
;
184
;
168
;        0000 word    number of buttons
185
;       0000 word    number of buttons
169
;        first button entry at 0x10
186
;        first button entry at 0x10
170
;        +0000 word   process number
187
;       +0000 word   process number
171
;        +0002 word   button id number : bits 00-15
188
;       +0002 word   button id number : bits 00-15
Line 173... Line 190...
173
;        +0006 word   x size
190
;       +0006 word   x size
174
;        +0008 word   y start
191
;       +0008 word   y start
175
;        +000A word   y size
192
;       +000A word   y size
176
;        +000C word   button id number : bits 16-31
193
;       +000C word   button id number : bits 16-31
177
;
194
;
178
; 2C4000  -> 2CFFFF   free (48Kb)
195
; 0x802C4000 -> 2CFFFF   free (48Kb)
179
;
196
;
180
; 2D0000  -> 2DFFFF   reserved port area
197
; 0x802D0000 -> 2DFFFF   reserved port area
181
;
198
;
182
;     0000   dword    no of port areas reserved
199
;       0000 dword   no of port areas reserved
183
;     0010   dword    process id
200
;       0010 dword   process id
184
;            dword    start port
201
;            dword   start port
185
;            dword    end port
202
;            dword   end port
186
;            dword    0
203
;            dword   0
187
;
204
;
188
; 2E0000  -> 2EFFFF   irq data area
205
; 0x802E0000 -> 2EFFFF   irq data area
189
; 2F0000  -> 2FFFFF   low memory save
206
; 0x802F0000 -> 2FFFFF   low memory save
190
;
-
 
191
; 300000  -> 45FFFF   background image, max 1,375 M
-
 
192
;
207
;
193
; 460000  -> 5FFFFF   display info
208
; 0x80300000 -> 45FFFF   background image, max 1,375 M
194
;
209
;
195
; 600000  -> 6FFFFF   hd cache
210
; 0x80460000 -> 5FFFFF   display info
196
;
211
;
197
; 700000  -> 71ffff   tcp memory       (128 kb)
-
 
198
; 720000  -> 75ffff   free (256 kb)
212
; 0x80600000 -> 6FFFFF   hd cache
199
;
213
;
200
; 760000  -> 76ffff   !vrr driver
214
; 0x80700000 -> 71ffff   tcp memory       128 Kb
201
; 770000  -> 777fff   tcp memory       ( 32 kb)
215
; 0x80720000 -> 75ffff   free (256 kb)
202
;
216
;
203
; 780000  -> 987FFF   TSS and IO map for (8192*8)=65536 ports
217
; 0x80760000 -> 76ffff   !vrr driver
204
;                     (128+8192)*256 = 2129920 = 0x208000
-
 
205
;
-
 
206
; 988000 -> 98AFFF    draw_data   - 256 entries
218
; 0x80770000 -> 777fff   tcp memory        32 Kb
207
;
219
;
-
 
220
; 0x80780000 -> 0x80782FFF draw data     - 256 entries
208
;         00   dword  draw limit - x start
221
;         00   dword  draw limit - x start
209
;         04   dword  draw limit - y start
222
;         04   dword  draw limit - y start
210
;         08   dword  draw limit - x end
223
;         08   dword  draw limit - x end
211
;         0C   dword  draw limit - y end
224
;         0C   dword  draw limit - y end
212
;
225
;
-
 
226
; 0x80783F80 -> 0x80783FFF TSS            128 bytes
213
;
227
;
214
; 0x0098B000 ->       kernel heap
228
; 0x80784000 -> 0x80785FFF IO map for (8192*8)=65536 ports
215
;
229
;
216
; 0x01FFFFFF          heap min limit
230
; 0x80786000 ->       kernel heap
217
; 0x7DBFFFFF          heap max limit
231
; 0x81FFFFFF          heap min limit
218
; 0x7DC00000 -> 0x7FBFFFFF  LFB 32Mb
232
; 0xFDBFFFFF          heap max limit
-
 
233
 
219
; 0x7DC00000 -> 0x7E3FFFFF  application available LFB 8Mb
234
; 0xFDC00000 -> 0xFDFFFFFF  page tables 4Mb
220
; 0x7E400000 -> 0x7FBFFFFF  kernel LFB part 24 Mb
235
; 0xFE000000 -> 0xFFFFFFFF  LFB 32Mb
221
; 0x7FC00000 -> 0x7FFFFFFF  page tables 4Mb
236
; 0xFE000000 -> 0xFE7FFFFF  application available LFB 8Mb
222
; 0x80000000 -> 0xFFFFFFFF  application 2Gb
237
; 0xFE800000 -> 0xFFFFFFFF  kernel LFB part 24 Mb
223
-