OSDN Git Service

svn rev.329より移動。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_009 / chnos / core_set.h
1 \r
2 /* MemoryMap */\r
3 //00 00 0d 00   VESA_BIOS_INFO                  0x100(256)Bytes\r
4 \r
5 //00 00 0e 00   VESA_MODE_INFO                  0x100(256)Bytes\r
6 \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
19 \r
20 //00 00 7c 00   IPL                             0x200(512)Bytes\r
21 \r
22 //00 00 80 00   DSKCAC0                         0x168000(1.44M)Bytes\r
23 \r
24 //00 10 00 00   DSKCAC                          0x168000(1.44M)Bytes\r
25 \r
26 //00 26 f8 00   IDT                             0x800(2K)Bytes\r
27 \r
28 //00 27 00 00   GDT                             0x10000(64K)Bytes\r
29 \r
30 //00 28 00 00   bootpack.chn                    0x80000(512K)Bytes\r
31 \r
32 //00 40 00 00   \83\81\83\82\83\8a\97Ì\88æ\8aJ\8en\r
33 \r
34 #define ADR_BOOTINFO    0x00000ff0\r
35 #define ADR_VESAINFO    0x00000e00\r
36 #define ADR_DISKIMG     0x00100000\r
37 \r
38 #define EFLAGS_AC_BIT   0x00040000\r
39 \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
51 \r
52 #define CR0_ALL_CACHE_DISABLE   CR0_NOTWRITETHROUGH + CR0_CACHE_DISABLE\r
53 \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
72 \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
79 \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
85 \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
96 //S=0\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
109 //S=1\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
111 //DATA\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
116 //CODE\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
121 \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
138 \r
139 #define MEMORY_DESCRIPTION_LENGTH       16      //32 - (4 * 4) = 16\r
140 #define TASK_DESCRIPTION_LENGTH         20      //128 - (104 + 4) = 20\r
141 \r
142 #define WINDOW_TITLE_LENGTH             32\r
143 #define WINDOW_CONTROL_XSIZE            24\r
144 \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
157 \r
158 #define FIFO32_PUT_OVERFLOW     0x0001\r
159 \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
165 \r
166 #define PIT_CTRL        0x0043\r
167 #define PIT_CNT0        0x0040\r
168 \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
177 \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
185 \r
186 #define MOUSE_BUTTON_L 0x01\r
187 #define MOUSE_BUTTON_R 0x02\r
188 #define MOUSE_BUTTON_C 0x04\r
189 \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
197 \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
206 \r
207 #define DATA_BYTE       0x100\r
208 \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
220 \r
221 #define SIGNAL_FLAGS_FOCUSINFO          0x00000001\r
222 \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
227 \r