--- /dev/null
+\r
+/* MemoryMap */\r
+//00 00 0d 00 VESA_BIOS_INFO 0x100(256)Bytes\r
+\r
+//00 00 0e 00 VESA_MODE_INFO 0x100(256)Bytes\r
+\r
+//00 00 0f f0 BootInfo CYLS uchar\r
+//00 00 0f f1 LEDS uchar\r
+//00 00 0f f2 VMODE uchar\r
+//00 00 0f f3 (Padding) uchar\r
+//00 00 0f f4 SCRNX ushort\r
+//00 00 0f f6 SCRNY ushort\r
+//00 00 0f f8 VRAM *uchar\r
+//00 00 0f fc VESAVER ushort\r
+//00 00 0f fe APMVER ushort\r
+//00 00 10 00 ACPI_MEMMAPS uint\r
+//00 00 10 04 ACPI_MEMMAP 0x18(24)*16=0x180(384)Bytes\r
+//00 00 11 84 APM_FLAGS ushort\r
+\r
+//00 00 7c 00 IPL 0x200(512)Bytes\r
+\r
+//00 00 80 00 DSKCAC0 0x168000(1.44M)Bytes\r
+\r
+//00 10 00 00 DSKCAC 0x168000(1.44M)Bytes\r
+\r
+//00 26 f8 00 IDT 0x800(2K)Bytes\r
+\r
+//00 27 00 00 GDT 0x10000(64K)Bytes\r
+\r
+//00 28 00 00 bootpack.chn 0x80000(512K)Bytes\r
+\r
+//00 40 00 00 \83\81\83\82\83\8a\97Ì\88æ\8aJ\8en\r
+\r
+#define ADR_BOOTINFO 0x00000ff0\r
+#define ADR_VESAINFO 0x00000e00\r
+#define ADR_DISKIMG 0x00100000\r
+\r
+#define EFLAGS_AC_BIT 0x00040000\r
+\r
+#define CR0_PROTECTIONENABLE 0x00000001\r
+#define CR0_MONITORCOPROCESSOR 0x00000002\r
+#define CR0_EMULATION 0x00000004\r
+#define CR0_TASKSWITCH 0x00000008\r
+#define CR0_EXTENDEDTYPE 0x00000010\r
+#define CR0_NUMERICERROR 0x00000020\r
+#define CR0_WRITEPROTECT 0x00010000\r
+#define CR0_ALIGNMENTMASK 0x00040000\r
+#define CR0_NOTWRITETHROUGH 0x20000000\r
+#define CR0_CACHE_DISABLE 0x40000000\r
+#define CR0_PAGING 0x80000000\r
+\r
+#define CR0_ALL_CACHE_DISABLE CR0_NOTWRITETHROUGH + CR0_CACHE_DISABLE\r
+\r
+#define PG_NOTPRESENT 0x00000000\r
+#define PG_PRESENT 0x00000001\r
+#define PG_READONLY 0x00000000\r
+#define PG_WRITABLE 0x00000002\r
+#define PG_SUPERVISOR 0x00000000\r
+#define PG_USER 0x00000004\r
+#define PG_WRITEBACK 0x00000000\r
+#define PG_WRITETHROUGH 0x00000008\r
+#define PG_CACHE_ENABLE 0x00000000\r
+#define PG_CACHE_DISABLE 0x00000010\r
+#define PG_NOTACCESSED 0x00000000\r
+#define PG_ACCESSED 0x00000020\r
+#define PG_NOTWRITTEN 0x00000000\r
+#define PG_WRITTEN 0x00000040\r
+#define PG_4KBPAGE 0x00000000\r
+#define PG_4MBPAGE 0x00000080\r
+#define PG_NOTGLOBAL 0x00000000\r
+#define PG_GLOBAL 0x00000100\r
+\r
+#define ADR_IDT 0x0026f800\r
+#define LIMIT_IDT 0x000007ff\r
+#define ADR_GDT 0x00270000\r
+#define LIMIT_GDT 0x0000ffff\r
+#define ADR_BOOTPACK 0x00280000\r
+#define LIMIT_BOOTPACK 0x0007ffff\r
+\r
+#define AR_DATA32_RW 0x4092 //AR_32+AR_PRESENT+AR_CODE_OR_DATA+AR_TYPE_DATA_RW\r
+#define AR_CODE32_ER 0x409a //AR_32+AR_PRESENT+AR_CODE_OR_DATA+AR_TYPE_CODE_ER\r
+#define AR_LDT 0x0082 //AR_PRESENT+AR_SYSTEM_DESCRIPTOR+AR_TYPE_LDT\r
+#define AR_TSS32 0x0089 //AR_PRESENT+AR_SYSTEM_DESCRIPTOR+AR_TYPE_TSS32_READY\r
+#define AR_INTGATE32 0x008e //AR_PRESENT+AR_SYSTEM_DESCRIPTOR+AR_TYPE_INTGATE32\r
+\r
+#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
+#define AR_GRANULARITY_4KB 0x8000 //G=1\r
+#define AR_16 0x0000 //D/B=0\r
+#define AR_32 0x4000 //D/B=1\r
+#define AR_NOTPRESENT 0x0000 //P=0\r
+#define AR_PRESENT 0x0080 //P=1\r
+#define AR_SYSTEM 0x0000 //DPL=0\r
+#define AR_USER 0x0060 //DPL=3\r
+#define AR_SYSTEM_DESCRIPTOR 0x0000 //S=0\r
+#define AR_CODE_OR_DATA 0x0010 //S=1\r
+//S=0\r
+#define AR_TYPE_TSS16_READY 0x0001\r
+#define AR_TYPE_LDT 0x0002\r
+#define AR_TYPE_TSS16_BUSY 0x0003\r
+#define AR_TYPE_CALLGATE16 0x0004\r
+#define AR_TYPE_TASKGATE 0x0005\r
+#define AR_TYPE_INTGATE16 0x0006\r
+#define AR_TYPE_TRAPGATE16 0x0007\r
+#define AR_TYPE_TSS32_READY 0x0009\r
+#define AR_TYPE_TSS32_BUSY 0x000b\r
+#define AR_TYPE_CALLGATE32 0x000c\r
+#define AR_TYPE_INTGATE32 0x000e\r
+#define AR_TYPE_TRAPGATE32 0x000f\r
+//S=1\r
+#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
+//DATA\r
+#define AR_TYPE_DATA_R 0x0000\r
+#define AR_TYPE_DATA_RW 0x0002\r
+#define AR_TYPE_DATA_R_EXPAND_DOWN 0x0004\r
+#define AR_TYPE_DATA_RW_EXPAND_DOWN 0x0006\r
+//CODE\r
+#define AR_TYPE_CODE_E 0x0008\r
+#define AR_TYPE_CODE_ER 0x000a\r
+#define AR_TYPE_CODE_E_CONFORMING 0x000c\r
+#define AR_TYPE_CODE_ER_CONFORMING 0x000e\r
+\r
+#define COL8_000000 0\r
+#define COL8_FF0000 1\r
+#define COL8_00FF00 2\r
+#define COL8_FFFF00 3\r
+#define COL8_0000FF 4\r
+#define COL8_FF00FF 5\r
+#define COL8_00FFFF 6\r
+#define COL8_FFFFFF 7\r
+#define COL8_C6C6C6 8\r
+#define COL8_840000 9\r
+#define COL8_008400 10\r
+#define COL8_848400 11\r
+#define COL8_000084 12\r
+#define COL8_840084 13\r
+#define COL8_008484 14\r
+#define COL8_848484 15\r
+\r
+#define MEMORY_DESCRIPTION_LENGTH 16 //32 - (4 * 4) = 16\r
+#define TASK_DESCRIPTION_LENGTH 20 //128 - (104 + 4) = 20\r
+\r
+#define WINDOW_TITLE_LENGTH 32\r
+#define WINDOW_CONTROL_XSIZE 24\r
+\r
+#define PIC0_ICW1 0x0020\r
+#define PIC0_OCW2 0x0020\r
+#define PIC0_IMR 0x0021\r
+#define PIC0_ICW2 0x0021\r
+#define PIC0_ICW3 0x0021\r
+#define PIC0_ICW4 0x0021\r
+#define PIC1_ICW1 0x00a0\r
+#define PIC1_OCW2 0x00a0\r
+#define PIC1_IMR 0x00a1\r
+#define PIC1_ICW2 0x00a1\r
+#define PIC1_ICW3 0x00a1\r
+#define PIC1_ICW4 0x00a1\r
+\r
+#define FIFO32_PUT_OVERFLOW 0x0001\r
+\r
+#define SYS_FIFOSIZE 256\r
+#define KEYCTRL_FIFOSIZE 128\r
+#define MOUSECTRL_FIFOSIZE 128\r
+#define KEYCMD_FIFOSIZE 128\r
+#define CONSOLE_FIFO_SIZE 128\r
+\r
+#define PIT_CTRL 0x0043\r
+#define PIT_CNT0 0x0040\r
+\r
+#define KEYB_DATA 0x0060\r
+#define PORT_KEYSTA 0x0064\r
+#define KEYSTA_SEND_NOTREADY 0x02\r
+#define KEYCMD_WRITE_MODE 0x60\r
+#define KBC_MODE 0x47\r
+#define PORT_KEYCMD 0x0064\r
+#define KEYCMD_SENDTO_MOUSE 0xd4\r
+#define KEYCMD_LED 0xed\r
+\r
+#define MOUSECMD_RESET 0xff\r
+#define MOUSECMD_RESEND 0xfe\r
+#define MOUSECMD_SET_DEFAULTS 0xf6\r
+#define MOUSECMD_DISABLE_DATA_REPORTING 0xf5\r
+#define MOUSECMD_ENABLE_DATA_REPORTING 0xf4\r
+#define MOUSECMD_SET_SAMPLE_RATE 0xf3\r
+#define MOUSECMD_GET_DEVICE_ID 0xf2\r
+\r
+#define MOUSE_BUTTON_L 0x01\r
+#define MOUSE_BUTTON_R 0x02\r
+#define MOUSE_BUTTON_C 0x04\r
+\r
+//#define MAX_WINDOWS 256\r
+//#define WIN_COL8_ACTIVE 0x000084\r
+//#define WIN_COL8_INACTIVE 0x848484\r
+//#define WIN_COL16_ACTIVE 0x60F8f0\r
+//#define WIN_COL16_INACTIVE 0xBCFCF8\r
+//#define WIN_COL32_ACTIVE 0x93D9FF\r
+//#define WIN_COL32_INACTIVE 0xD0EFFF\r
+\r
+//#define CONSOLE_FIFO_BUF_SIZE 128\r
+//#define CONSOLE_FIFO_START_KEYB 128\r
+//#define CONSOLE_FIFO_CURSOR_START 2\r
+//#define CONSOLE_FIFO_CURSOR_STOP 3\r
+//#define CONSOLE_COLOR_BACKGROUND 0x000000\r
+//#define CONSOLE_COLOR_CHAR 0xFFFFFF\r
+//#define CONSOLE_CMDLINE_BUF_SIZE 128\r
+//#define MAX_CONSOLES 16\r
+\r
+#define DATA_BYTE 0x100\r
+\r
+#define COM1_RX 0x03f8\r
+#define COM1_TX 0x03f8\r
+#define COM1_BAUD_LSB 0x03f8\r
+#define COM1_BAUD_MSB 0x03f9\r
+#define COM1_INTR_ENBL 0x03f9\r
+#define COM1_INTR_ID 0x03fa\r
+#define COM1_CTRL_FIFO 0x03fa\r
+#define COM1_CTRL_LINE 0x03fb\r
+#define COM1_CTRL_MODEM 0x03fc\r
+#define COM1_STA_LINE 0x03fd\r
+#define COM1_STA_MODEM 0x03fe\r
+\r
+#define SIGNAL_FLAGS_FOCUSINFO 0x00000001\r
+\r
+#define SIGNAL_START 0xff000000\r
+#define SIGNAL_WINDOW_FOCUS_GET 0xff000001\r
+#define SIGNAL_WINDOW_FOCUS_LOST 0xff000002\r
+#define SIGNAL_ARGUMENTS_END 0xffffffff\r
+\r