Subversion Repositories Kolibri OS

Rev

Rev 379 | Rev 465 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
425 victor 1
$Revision: 425 $
1 ha 2
;
3
;   MEMORY MAP
4
;
5
;   Boot:
6
;
7
;   0:9000     byte   bits per pixel
8
;   0:9001     word   scanline length
9
;   0:9008     word   vesa video mode
10
;   0:900A     word   X res
11
;   0:900C     word   Y res
12
;   0:9010     byte   mouse port  - not used
13
;   0:9014     dword  Vesa 1.2 pm bank switch
14
;   0:9018     dword  Vesa 2.0 LFB address
15
;   0:901C     byte   0 or 1 : enable MTRR graphics acceleration
16
;   0:901D     byte   not used anymore (0 or 1 : enable system log display)
17
;   0:901E     byte   0 or 1 : enable direct lfb write, paging disabled
346 diamond 18
;   0:901F     byte   DMA write : 1=yes, 2=no
1 ha 19
;   0:9020     8bytes pci data
20
;   0:9030     byte   VRR start enabled 1, 2-no
21
;   0:9031     word   IDEContrRegsBaseAddr
76 mario79 22
;    0x9040 - dword - entry point of APM BIOS
23
;    0x9044 -  word - version (BCD)
24
;    0x9046 -  word - flags
1 ha 25
;
26
;   Runtime:
27
;
14 poddubny 28
;   0000  ->   1FFF   window_data   - 256 entries
1 ha 29
;
30
;         0000 dword  x start
31
;         0004 dword  y start
32
;         0008 dword  x size
33
;         000C dword  y size
34
;         0010 dword  color of work area
35
;         0014 dword  color of grab bar
36
;         0018 dword  color of frames
37
;         001C dword  window flags, +30 = window drawn, +31 redraw flag
38
;
14 poddubny 39
;   2000  ->   2FFF   free
40
;
1 ha 41
;   3000  ->   4FFF   task list      - 256 entries
42
;
43
;         00   dword  process count
44
;         04   dword  no of processes
45
;         10   dword  base of running process at 0x3000+
46
;
47
;         20   dword  application event mask
48
;         24   dword  PID - process identification number
115 poddubny 49
;         2a   byte   slot state: 0=running, 1,2=suspended
50
;                        3=zombie, 4=terminate,
51
;                        5=waiting for event, 9 = not used
1 ha 52
;         2e   byte   window number on screen
53
;         30   dword  exact position in memory
54
;         34   dword  counter sum
55
;         38   dword  time stamp counter add
56
;         3c   dword  cpu usage in cpu timer tics
57
;
58
;
314 diamond 59
;   5000  ->   68FF   free
1 ha 60
;   6900  ->   6EFF   saved picture under mouse pointer
61
;
33 mario79 62
;   6F00  ->   6FFF   free
1 ha 63
;
33 mario79 64
;   7000  ->   7FFF   used CD driver
65
;
1 ha 66
;   8000  ->   A3FF   used FLOPPY driver
67
;
102 poddubny 68
;   A400  ->   B0FF   free
8 poddubny 69
 
1 ha 70
;   B100  ->   B2FF   IDT
71
 
8 poddubny 72
;   B300  ->   BFFF   free
73
 
1 ha 74
;   C000  ->   C3FF   window stack C000 no of windows - all in words
75
;   C402  ->   C7FF   window position in stack
76
;   D000  ->   D1FF   FDC controller
77
;   D200  ->   D3FF   FDC controller for Fat12
78
;   D400  ->   DFFF   free
79
;   E000  byte        multitasking started
80
;   E020  dword       putpixel address
81
;   E024  dword       getpixel address
82
;   E030  dword       Vesa 1.2 pm bank switch address
83
;   F200  dword       mousepicture -pointer
84
;   F204  dword       mouse appearance counter
85
;   F300  dword       x & y temp for windowmove
86
;   F400  byte        no of keys in buffer
87
;   F401  byte        'buffer'
88
;   F402  ->   F4FF   reserved for keys
89
;   F500  byte        no of buttons in buffer
90
;   F501  dword       'buffer'
91
;   F502  ->   F5FF   reserved for buttons
92
;   F600  dword       tsc / second
93
;   F604  byte        mouse port: 1 ps2, 2 com1, 3 com2
94
;   FB00  ->   FB0F   mouse memory 00 chunk count - FB0A-B x - FB0C-D y
95
;   FB10  ->   FB17   mouse color mem
96
;   FB21              x move
97
;   FB22              y move
98
;   FB28              high bits temp
99
;   FB30              color temp
100
;   FB40  byte        buttons down
101
;   FB44  byte        0 mouse down -> do not draw
102
;   FB4A  ->   FB4D   FB4A-B x-under - FB4C-D y-under
103
;   FBF1  byte        bits per pixel
104
;   FC00  ->   FCFE   com1/ps2 buffer
105
;   FCFF              com1/ps2 buffer count starting from FC00
106
;   FE00  dword       screen x size
107
;   FE04  dword       screen y size
108
;   FE08  dword       screen y multiplier
109
;   FE0C  dword       screen mode
110
;   FE80  dword       address of LFB in physical
111
;   FE84  dword       address of applications memory start in physical
112
;   FE88  dword       address of button list
113
;   FE8C  dword       memory to use
114
;   FF00  byte        1 = system shutdown request
105 poddubny 115
;   FF01  dword       free
1 ha 116
;   FFF0  byte        1 = redraw background request from app
117
;   FFF1  byte        1 = diskette int occur
118
;   FFF2              write and read bank in screen
119
;   FFF4  byte        0 if first mouse draw & do not return picture under
120
;   FFF5  byte        1 do not draw pointer
121
;   FFFF  byte        do not change task for 1/100 sec.
122
;
13 poddubny 123
;  10000  ->  3DBFF   kernel, 32-bit run-time code (up to 183 Kb)
124
;  3DC00  ->  3EBFF   stack at boot time (4Kb)
12 halyavin 125
;  3EC00  ->  3F5FF   basic text font II
126
;  3F600  ->  3FFFF   basic text font I
1 ha 127
;  40000  ->  4FFFF   data of retrieved disks and partitions (Mario79)
22 poddubny 128
 
212 serge 129
;  50000  ->  50FFF   main page directory
130
;  50200  ->  5FFFF   pages bitmap
22 poddubny 131
 
212 serge 132
;  60000  ->  7FFFF   free (128 Kb)
1 ha 133
;  80000  ->  8FFFF   additional app info, in 256 byte steps - 256 entries
134
;
135
;           00  11db  name of app running
136
;           10 108db  floating point unit save area
137
;           7f byte   0= no fpu saved ,  1= fpu saved to 0x10 -> restore
138
;           80 dword  address of random shaped window area
139
;           84 byte   shape area scale
115 poddubny 140
;           88 dword  free
1 ha 141
;           8C dword  application memory size
142
;           90 dword  window X position save
143
;           94 dword  window Y position save
144
;           98 dword  window X size save
145
;           9C dword  window Y size save
146
;           A0 dword  IPC memory start
147
;           A4 dword  IPC memory size
148
;           A8 dword  event bits: mouse, stack,..
66 diamond 149
;           AC dword  0 or debugger slot
115 poddubny 150
;           B0 dword  free
1 ha 151
;           B4  byte  keyboard mode: 0 = keymap, 1 = scancodes
12 halyavin 152
;           B8 dword  physical address of directory table
66 diamond 153
;           BC dword  address of debug event memory
154
;           C0  5 dd  thread debug registers: DR0,DR1,DR2,DR3,DR7
1 ha 155
;
156
;  90000  ->  9FFFF   tmp
157
;  A0000  ->  AFFFF   screen access area
158
;  B0000  ->  FFFFF   bios rest in peace -area
159
; 100000  -> 27FFFF   diskette image
160
; 280000  -> 281FFF   ramdisk fat
161
; 282000  -> 283FFF   floppy  fat
162
;
13 poddubny 163
; 284000  -> 29FFFF   free (112 Kb)
1 ha 164
;
165
; 2A0000  -> 2B00ff   wav device data
166
; 2C0000  -> 2C3fff   button info
167
;
168
;        0000 word    number of buttons
169
;        first button entry at 0x10
170
;        +0000 word   process number
171
;        +0002 word   button id number : bits 00-15
172
;        +0004 word   x start
173
;        +0006 word   x size
174
;        +0008 word   y start
175
;        +000A word   y size
176
;        +000C word   button id number : bits 16-31
177
;
22 poddubny 178
; 2C4000  -> 2CFFFF   free (48Kb)
179
;
1 ha 180
; 2D0000  -> 2DFFFF   reserved port area
181
;
182
;     0000   dword    no of port areas reserved
183
;     0010   dword    process id
184
;            dword    start port
185
;            dword    end port
186
;            dword    0
187
;
188
; 2E0000  -> 2EFFFF   irq data area
189
; 2F0000  -> 2FFFFF   low memory save
190
;
22 poddubny 191
; 300000  -> 45FFFF   background image, max 1,375 M
1 ha 192
;
193
; 460000  -> 5FFFFF   display info
194
;
195
; 600000  -> 6FFFFF   hd cache
196
;
197
; 700000  -> 71ffff   tcp memory       (128 kb)
10 poddubny 198
; 720000  -> 75ffff   free (256 kb)
1 ha 199
;
200
; 760000  -> 76ffff   !vrr driver
201
; 770000  -> 777fff   tcp memory       ( 32 kb)
202
;
363 serge 203
; 780000  -> 987FFF   TSS and IO map for (8192*8)=65536 ports
204
;                     (128+8192)*256 = 2129920 = 0x208000
1 ha 205
;
363 serge 206
; 988000 -> 98AFFF    draw_data   - 256 entries
1 ha 207
;
208
;         00   dword  draw limit - x start
209
;         04   dword  draw limit - y start
210
;         08   dword  draw limit - x end
211
;         0C   dword  draw limit - y end
212
;
14 poddubny 213
;
363 serge 214
; 0x0098B000 ->       kernel heap
378 serge 215
;
379 serge 216
; 0x01FFFFFF          heap min limit
378 serge 217
; 0x7DBFFFFF          heap max limit
218
; 0x7DC00000 -> 0x7FBFFFFF  LFB 32Mb
219
; 0x7DC00000 -> 0x7E3FFFFF  application available LFB 8Mb
220
; 0x7E400000 -> 0x7FBFFFFF  kernel LFB part 24 Mb
221
; 0x7FC00000 -> 0x7FFFFFFF  page tables 4Mb
222
; 0x80000000 -> 0xFFFFFFFF  application 2Gb
1 ha 223