3 //00 00 0d 00 VESA_BIOS_INFO 0x100(256)Bytes
\r
5 //00 00 0e 00 VESA_MODE_INFO 0x100(256)Bytes
\r
7 //00 00 0f f0 BootInfo CYLS uchar
\r
8 //00 00 0f f1 LEDS uchar
\r
9 //00 00 0f f2 VMODE uchar
\r
10 //00 00 0f f3 (Padding) uchar
\r
11 //00 00 0f f4 SCRNX ushort
\r
12 //00 00 0f f6 SCRNY ushort
\r
13 //00 00 0f f8 VRAM *uchar
\r
14 //00 00 0f fc VESAVER ushort
\r
15 //00 00 0f fe APMVER ushort
\r
16 //00 00 10 00 ACPI_MEMMAPS uint
\r
17 //00 00 10 04 ACPI_MEMMAP 0x18(24)*16=0x180(384)Bytes
\r
18 //00 00 11 84 APM_FLAGS ushort
\r
20 //00 00 7c 00 IPL 0x200(512)Bytes
\r
22 //00 00 80 00 DSKCAC0 0x168000(1.44M)Bytes
\r
24 //00 10 00 00 DSKCAC 0x168000(1.44M)Bytes
\r
26 //00 26 f8 00 IDT 0x800(2K)Bytes
\r
28 //00 27 00 00 GDT 0x10000(64K)Bytes
\r
30 //00 28 00 00 bootpack.chn 0x80000(512K)Bytes
\r
32 //00 40 00 00
\83\81\83\82\83\8a\97Ì
\88æ
\8aJ
\8en
\r
34 #define ADR_BOOTINFO 0x00000ff0
\r
35 #define ADR_VESAINFO 0x00000e00
\r
36 #define ADR_DISKIMG 0x00100000
\r
38 #define EFLAGS_AC_BIT 0x00040000
\r
40 #define CR0_PROTECTIONENABLE 0x00000001
\r
41 #define CR0_MONITORCOPROCESSOR 0x00000002
\r
42 #define CR0_EMULATION 0x00000004
\r
43 #define CR0_TASKSWITCH 0x00000008
\r
44 #define CR0_EXTENDEDTYPE 0x00000010
\r
45 #define CR0_NUMERICERROR 0x00000020
\r
46 #define CR0_WRITEPROTECT 0x00010000
\r
47 #define CR0_ALIGNMENTMASK 0x00040000
\r
48 #define CR0_NOTWRITETHROUGH 0x20000000
\r
49 #define CR0_CACHE_DISABLE 0x40000000
\r
50 #define CR0_PAGING 0x80000000
\r
52 #define CR0_ALL_CACHE_DISABLE CR0_NOTWRITETHROUGH + CR0_CACHE_DISABLE
\r
54 #define PG_NOTPRESENT 0x00000000
\r
55 #define PG_PRESENT 0x00000001
\r
56 #define PG_READONLY 0x00000000
\r
57 #define PG_WRITABLE 0x00000002
\r
58 #define PG_SUPERVISOR 0x00000000
\r
59 #define PG_USER 0x00000004
\r
60 #define PG_WRITEBACK 0x00000000
\r
61 #define PG_WRITETHROUGH 0x00000008
\r
62 #define PG_CACHE_ENABLE 0x00000000
\r
63 #define PG_CACHE_DISABLE 0x00000010
\r
64 #define PG_NOTACCESSED 0x00000000
\r
65 #define PG_ACCESSED 0x00000020
\r
66 #define PG_NOTWRITTEN 0x00000000
\r
67 #define PG_WRITTEN 0x00000040
\r
68 #define PG_4KBPAGE 0x00000000
\r
69 #define PG_4MBPAGE 0x00000080
\r
70 #define PG_NOTGLOBAL 0x00000000
\r
71 #define PG_GLOBAL 0x00000100
\r
73 #define ADR_IDT 0x0026f800
\r
74 #define LIMIT_IDT 0x000007ff
\r
75 #define ADR_GDT 0x00270000
\r
76 #define LIMIT_GDT 0x0000ffff
\r
77 #define ADR_BOOTPACK 0x00280000
\r
78 #define LIMIT_BOOTPACK 0x0007ffff
\r
80 #define AR_DATA32_RW 0x4092 //AR_32+AR_PRESENT+AR_CODE_OR_DATA+AR_TYPE_DATA_RW
\r
81 #define AR_CODE32_ER 0x409a //AR_32+AR_PRESENT+AR_CODE_OR_DATA+AR_TYPE_CODE_ER
\r
82 #define AR_LDT 0x0082 //AR_PRESENT+AR_SYSTEM_DESCRIPTOR+AR_TYPE_LDT
\r
83 #define AR_TSS32 0x0089 //AR_PRESENT+AR_SYSTEM_DESCRIPTOR+AR_TYPE_TSS32_READY
\r
84 #define AR_INTGATE32 0x008e //AR_PRESENT+AR_SYSTEM_DESCRIPTOR+AR_TYPE_INTGATE32
\r
86 #define AR_GRANULARITY_BYTE 0x0000 //G=0
\8aÖ
\90\94\82Å
\8e©
\93®
\90Ý
\92è
\82·
\82é
\82Ì
\82Å
\82±
\82Ì
\83r
\83b
\83g
\82Í
\8fí
\82É0
\r
87 #define AR_GRANULARITY_4KB 0x8000 //G=1
\r
88 #define AR_16 0x0000 //D/B=0
\r
89 #define AR_32 0x4000 //D/B=1
\r
90 #define AR_NOTPRESENT 0x0000 //P=0
\r
91 #define AR_PRESENT 0x0080 //P=1
\r
92 #define AR_SYSTEM 0x0000 //DPL=0
\r
93 #define AR_USER 0x0060 //DPL=3
\r
94 #define AR_SYSTEM_DESCRIPTOR 0x0000 //S=0
\r
95 #define AR_CODE_OR_DATA 0x0010 //S=1
\r
97 #define AR_TYPE_TSS16_READY 0x0001
\r
98 #define AR_TYPE_LDT 0x0002
\r
99 #define AR_TYPE_TSS16_BUSY 0x0003
\r
100 #define AR_TYPE_CALLGATE16 0x0004
\r
101 #define AR_TYPE_TASKGATE 0x0005
\r
102 #define AR_TYPE_INTGATE16 0x0006
\r
103 #define AR_TYPE_TRAPGATE16 0x0007
\r
104 #define AR_TYPE_TSS32_READY 0x0009
\r
105 #define AR_TYPE_TSS32_BUSY 0x000b
\r
106 #define AR_TYPE_CALLGATE32 0x000c
\r
107 #define AR_TYPE_INTGATE32 0x000e
\r
108 #define AR_TYPE_TRAPGATE32 0x000f
\r
110 #define AR_TYPE_ACCESSED 0x0001 //
\8aÖ
\90\94\90Ý
\92è
\8e\9e\82É
\82Í
\83N
\83\8a\83A
\81A
\93Ç
\82Ý
\8fo
\82µ
\8e\9e\82Í
\83A
\83N
\83Z
\83X
\8dÏ
\82Ý
\82È
\82ç
\83Z
\83b
\83g
\r
112 #define AR_TYPE_DATA_R 0x0000
\r
113 #define AR_TYPE_DATA_RW 0x0002
\r
114 #define AR_TYPE_DATA_R_EXPAND_DOWN 0x0004
\r
115 #define AR_TYPE_DATA_RW_EXPAND_DOWN 0x0006
\r
117 #define AR_TYPE_CODE_E 0x0008
\r
118 #define AR_TYPE_CODE_ER 0x000a
\r
119 #define AR_TYPE_CODE_E_CONFORMING 0x000c
\r
120 #define AR_TYPE_CODE_ER_CONFORMING 0x000e
\r
122 #define COL8_000000 0
\r
123 #define COL8_FF0000 1
\r
124 #define COL8_00FF00 2
\r
125 #define COL8_FFFF00 3
\r
126 #define COL8_0000FF 4
\r
127 #define COL8_FF00FF 5
\r
128 #define COL8_00FFFF 6
\r
129 #define COL8_FFFFFF 7
\r
130 #define COL8_C6C6C6 8
\r
131 #define COL8_840000 9
\r
132 #define COL8_008400 10
\r
133 #define COL8_848400 11
\r
134 #define COL8_000084 12
\r
135 #define COL8_840084 13
\r
136 #define COL8_008484 14
\r
137 #define COL8_848484 15
\r
139 #define MEMORY_DESCRIPTION_LENGTH 16 //32 - (4 * 4) = 16
\r
140 #define TASK_DESCRIPTION_LENGTH 20 //128 - (104 + 4) = 20
\r
142 #define WINDOW_TITLE_LENGTH 32
\r
143 #define WINDOW_CONTROL_XSIZE 24
\r
145 #define PIC0_ICW1 0x0020
\r
146 #define PIC0_OCW2 0x0020
\r
147 #define PIC0_IMR 0x0021
\r
148 #define PIC0_ICW2 0x0021
\r
149 #define PIC0_ICW3 0x0021
\r
150 #define PIC0_ICW4 0x0021
\r
151 #define PIC1_ICW1 0x00a0
\r
152 #define PIC1_OCW2 0x00a0
\r
153 #define PIC1_IMR 0x00a1
\r
154 #define PIC1_ICW2 0x00a1
\r
155 #define PIC1_ICW3 0x00a1
\r
156 #define PIC1_ICW4 0x00a1
\r
158 #define FIFO32_PUT_OVERFLOW 0x0001
\r
160 #define SYS_FIFOSIZE 256
\r
161 #define KEYCTRL_FIFOSIZE 128
\r
162 #define MOUSECTRL_FIFOSIZE 128
\r
163 #define KEYCMD_FIFOSIZE 128
\r
164 #define CONSOLE_FIFO_SIZE 128
\r
166 #define PIT_CTRL 0x0043
\r
167 #define PIT_CNT0 0x0040
\r
169 #define KEYB_DATA 0x0060
\r
170 #define PORT_KEYSTA 0x0064
\r
171 #define KEYSTA_SEND_NOTREADY 0x02
\r
172 #define KEYCMD_WRITE_MODE 0x60
\r
173 #define KBC_MODE 0x47
\r
174 #define PORT_KEYCMD 0x0064
\r
175 #define KEYCMD_SENDTO_MOUSE 0xd4
\r
176 #define KEYCMD_LED 0xed
\r
178 #define MOUSECMD_RESET 0xff
\r
179 #define MOUSECMD_RESEND 0xfe
\r
180 #define MOUSECMD_SET_DEFAULTS 0xf6
\r
181 #define MOUSECMD_DISABLE_DATA_REPORTING 0xf5
\r
182 #define MOUSECMD_ENABLE_DATA_REPORTING 0xf4
\r
183 #define MOUSECMD_SET_SAMPLE_RATE 0xf3
\r
184 #define MOUSECMD_GET_DEVICE_ID 0xf2
\r
186 #define MOUSE_BUTTON_L 0x01
\r
187 #define MOUSE_BUTTON_R 0x02
\r
188 #define MOUSE_BUTTON_C 0x04
\r
190 //#define MAX_WINDOWS 256
\r
191 //#define WIN_COL8_ACTIVE 0x000084
\r
192 //#define WIN_COL8_INACTIVE 0x848484
\r
193 //#define WIN_COL16_ACTIVE 0x60F8f0
\r
194 //#define WIN_COL16_INACTIVE 0xBCFCF8
\r
195 //#define WIN_COL32_ACTIVE 0x93D9FF
\r
196 //#define WIN_COL32_INACTIVE 0xD0EFFF
\r
198 //#define CONSOLE_FIFO_BUF_SIZE 128
\r
199 //#define CONSOLE_FIFO_START_KEYB 128
\r
200 //#define CONSOLE_FIFO_CURSOR_START 2
\r
201 //#define CONSOLE_FIFO_CURSOR_STOP 3
\r
202 //#define CONSOLE_COLOR_BACKGROUND 0x000000
\r
203 //#define CONSOLE_COLOR_CHAR 0xFFFFFF
\r
204 //#define CONSOLE_CMDLINE_BUF_SIZE 128
\r
205 //#define MAX_CONSOLES 16
\r
207 #define DATA_BYTE 0x100
\r
209 #define COM1_RX 0x03f8
\r
210 #define COM1_TX 0x03f8
\r
211 #define COM1_BAUD_LSB 0x03f8
\r
212 #define COM1_BAUD_MSB 0x03f9
\r
213 #define COM1_INTR_ENBL 0x03f9
\r
214 #define COM1_INTR_ID 0x03fa
\r
215 #define COM1_CTRL_FIFO 0x03fa
\r
216 #define COM1_CTRL_LINE 0x03fb
\r
217 #define COM1_CTRL_MODEM 0x03fc
\r
218 #define COM1_STA_LINE 0x03fd
\r
219 #define COM1_STA_MODEM 0x03fe
\r
221 #define SIGNAL_FLAGS_FOCUSINFO 0x00000001
\r
223 #define SIGNAL_START 0xff000000
\r
224 #define SIGNAL_WINDOW_FOCUS_GET 0xff000001
\r
225 #define SIGNAL_WINDOW_FOCUS_LOST 0xff000002
\r
226 #define SIGNAL_ARGUMENTS_END 0xffffffff
\r