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