Rev 114 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | ha | 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
||
3 | ;; KERNEL32.INC ;; |
||
4 | ;; ;; |
||
5 | ;; Included 32 bit kernel files for MenuetOS ;; |
||
6 | ;; ;; |
||
7 | ;; This file is kept separate as it will be easier to ;; |
||
8 | ;; maintain and compile with an automated SETUP program ;; |
||
9 | ;; in the future. ;; |
||
10 | ;; ;; |
||
11 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
12 | |||
13 | ; structure definition helper |
||
14 | macro struct name, [arg] |
||
15 | { |
||
16 | common |
||
43 | halyavin | 17 | name@struct equ name |
1 | ha | 18 | struc name arg { |
19 | } |
||
20 | |||
21 | macro struct_helper name |
||
22 | { |
||
43 | halyavin | 23 | match xname,name |
24 | \{ |
||
1 | ha | 25 | virtual at 0 |
43 | halyavin | 26 | xname xname |
27 | sizeof.#xname = $ - xname |
||
28 | name equ sizeof.#xname |
||
1 | ha | 29 | end virtual |
43 | halyavin | 30 | \} |
1 | ha | 31 | } |
32 | |||
33 | ends fix } struct_helper name@struct |
||
34 | |||
41 | mikedld | 35 | ;// mike.dld, 2006-29-01 [ |
1 | ha | 36 | |
41 | mikedld | 37 | ; macros definition |
38 | macro diff16 title,l1,l2 |
||
39 | { |
||
40 | local s,d |
||
41 | s = l2-l1 |
||
42 | display title,': 0x' |
||
43 | repeat 8 |
||
44 | d = 48 + s shr ((8-%) shl 2) and $0F |
||
45 | if d > 57 |
||
46 | d = d + 65-57-1 |
||
47 | end if |
||
48 | display d |
||
49 | end repeat |
||
50 | display 13,10 |
||
51 | } |
||
52 | |||
53 | struc db [a] { common . db a |
||
54 | if ~used . |
||
55 | display 'not used db: ',`.,13,10 |
||
56 | end if } |
||
57 | struc dw [a] { common . dw a |
||
58 | if ~used . |
||
59 | display 'not used dw: ',`.,13,10 |
||
60 | end if } |
||
61 | struc dd [a] { common . dd a |
||
62 | if ~used . |
||
63 | display 'not used dd: ',`.,13,10 |
||
64 | end if } |
||
65 | struc dp [a] { common . dp a |
||
66 | if ~used . |
||
67 | display 'not used dp: ',`.,13,10 |
||
68 | end if } |
||
69 | struc dq [a] { common . dq a |
||
70 | if ~used . |
||
71 | display 'not used dq: ',`.,13,10 |
||
72 | end if } |
||
73 | struc dt [a] { common . dt a |
||
74 | if ~used . |
||
75 | display 'not used dt: ',`.,13,10 |
||
76 | end if } |
||
77 | |||
78 | struc RECT { |
||
79 | .left dd ? |
||
80 | .top dd ? |
||
81 | .right dd ? |
||
82 | .bottom dd ? |
||
83 | } |
||
84 | virtual at 0 |
||
85 | RECT RECT |
||
86 | end virtual |
||
87 | |||
88 | struc BOX { |
||
89 | .left dd ? |
||
90 | .top dd ? |
||
91 | .width dd ? |
||
92 | .height dd ? |
||
93 | } |
||
94 | virtual at 0 |
||
95 | BOX BOX |
||
96 | end virtual |
||
97 | |||
114 | mikedld | 98 | ; constants definition |
99 | WSTATE_NORMAL = 00000000b |
||
100 | WSTATE_MAXIMIZED = 00000001b |
||
101 | WSTATE_MINIMIZED = 00000010b |
||
102 | WSTATE_ROLLEDUP = 00000100b |
||
103 | |||
104 | WSTATE_REDRAW = 00000001b |
||
105 | WSTATE_WNDDRAWN = 00000010b |
||
106 | |||
107 | WSTYLE_HASCAPTION = 00010000b |
||
108 | WSTYLE_CLIENTRELATIVE = 00100000b |
||
109 | |||
115 | poddubny | 110 | struc TASKDATA |
114 | mikedld | 111 | { |
112 | .event_mask dd ? |
||
113 | .pid dd ? |
||
114 | dw ? |
||
115 | poddubny | 115 | .state db ? |
116 | db ? |
||
114 | mikedld | 117 | dw ? |
118 | .wnd_number db ? |
||
119 | db ? |
||
120 | .mem_start dd ? |
||
121 | .counter_sum dd ? |
||
122 | .counter_add dd ? |
||
123 | .cpu_usage dd ? |
||
124 | } |
||
125 | virtual at 0 |
||
115 | poddubny | 126 | TASKDATA TASKDATA |
114 | mikedld | 127 | end virtual |
128 | |||
129 | ; structures definition |
||
130 | struc WDATA { |
||
131 | .box BOX |
||
132 | .cl_workarea dd ? |
||
133 | .cl_titlebar dd ? |
||
134 | .cl_frames dd ? |
||
135 | .reserved db ? |
||
136 | .fl_wstate db ? |
||
137 | .fl_wdrawn db ? |
||
138 | .fl_redraw db ? |
||
139 | } |
||
140 | virtual at 0 |
||
141 | WDATA WDATA |
||
142 | end virtual |
||
143 | label WDATA.fl_wstyle byte at 0x13 |
||
144 | |||
145 | struc APPDATA |
||
146 | { |
||
147 | .app_name db 11 dup(?) |
||
148 | db 5 dup(?) |
||
115 | poddubny | 149 | .fpu_save_area: db 108 dup(?) |
114 | mikedld | 150 | db 3 dup(?) |
151 | .is_fpu_saved db ? |
||
152 | .wnd_shape dd ? |
||
153 | .wnd_shape_scale dd ? |
||
115 | poddubny | 154 | dd ? |
114 | mikedld | 155 | .mem_size dd ? |
156 | .saved_box BOX |
||
157 | .ipc_start dd ? |
||
158 | .ipc_size dd ? |
||
159 | .event_mask dd ? |
||
160 | .debugger_slot dd ? |
||
115 | poddubny | 161 | dd ? |
114 | mikedld | 162 | .keyboard_mode db ? |
163 | db 3 dup(?) |
||
164 | .dir_table dd ? |
||
165 | .dbg_event_mem dd ? |
||
166 | .dbg_regs: |
||
167 | .dbg_regs.dr0 dd ? |
||
168 | .dbg_regs.dr1 dd ? |
||
169 | .dbg_regs.dr2 dd ? |
||
170 | .dbg_regs.dr3 dd ? |
||
171 | .dbg_regs.dr7 dd ? |
||
172 | .wnd_caption dd ? |
||
173 | .wnd_clientbox BOX |
||
174 | } |
||
175 | virtual at 0 |
||
176 | APPDATA APPDATA |
||
177 | end virtual |
||
178 | |||
41 | mikedld | 179 | ;// mike.dld, 2006-29-01 ] |
180 | |||
181 | |||
1 | ha | 182 | ; Core functions |
114 | mikedld | 183 | include "core/sync.inc" ; macros for synhronization objects |
1 | ha | 184 | include "core/sys32.inc" ; process management |
185 | include "core/sched.inc" ; process scheduling |
||
186 | include "core/syscall.inc" ; system call |
||
187 | include "core/mem.inc" ; high-level memory management |
||
188 | include "core/newproce.inc" ;new process management |
||
189 | include "core/physmem.inc" ; access to physical memory for applications |
||
190 | |||
191 | ; GUI stuff |
||
192 | include "gui/window.inc" |
||
193 | include "gui/event.inc" |
||
194 | include "gui/font.inc" |
||
195 | include "gui/button.inc" |
||
196 | |||
197 | ; shutdown |
||
198 | |||
199 | include "boot/shutdown.inc" ; shutdown or restart |
||
200 | |||
201 | ; file system |
||
202 | |||
203 | include "fs/fs.inc" ; syscall |
||
204 | include "fs/fat32.inc" ; read / write for fat32 filesystem |
||
205 | include "fs/fat12.inc" ; read / write for fat12 filesystem |
||
70 | mario79 | 206 | include "blkdev/rd.inc" ; ramdisk read /write |
73 | diamond | 207 | include "fs/fs_lfn.inc" ; syscall, version 2 |
87 | mario79 | 208 | include "fs/iso9660.inc" ; read for iso9660 filesystem CD |
1 | ha | 209 | |
210 | ; sound |
||
211 | |||
212 | include "sound/sb16.inc" ; playback for Sound Blaster 16 |
||
213 | include "sound/playnote.inc" ; player Note for Speaker PC |
||
214 | |||
215 | ; display |
||
216 | |||
217 | include "video/vesa12.inc" ; Vesa 1.2 functions |
||
218 | include "video/vesa20.inc" ; Vesa 2.0 functions |
||
219 | include "video/vga.inc" ; VGA 16 color functions |
||
220 | |||
221 | ; Network Interface & TCPIP Stack |
||
222 | |||
223 | include "network/stack.inc" |
||
224 | |||
225 | ; Mouse pointer |
||
226 | |||
227 | include "gui/mouse.inc" |
||
228 | |||
229 | ; Window skinning |
||
230 | |||
231 | include "gui/skincode.inc" |
||
232 | |||
233 | ; Pci functions |
||
234 | |||
235 | include "bus/pci/pci32.inc" |
||
236 | |||
237 | ; Floppy drive controller |
||
238 | |||
239 | include "blkdev/fdc.inc" |
||
240 | include "blkdev/flp_drv.inc" |
||
241 | |||
242 | ; CD drive controller |
||
243 | |||
244 | include "blkdev/cdrom.inc" |
||
87 | mario79 | 245 | include "blkdev/cd_drv.inc" |
1 | ha | 246 | |
247 | ; Character devices |
||
248 | |||
249 | include "hid/keyboard.inc" |
||
33 | mario79 | 250 | include "hid/mousedrv.inc" |
1 | ha | 251 | |
252 | ; setting date,time,clock and alarm-clock |
||
253 | |||
254 | include "hid/set_dtc.inc" |
||
255 | |||
256 | ;% -include |