OSDN Git Service

svn rev.329より移動。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_010 / chnos / core.h
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/core.h b/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/core.h
new file mode 100644 (file)
index 0000000..9acef5b
--- /dev/null
@@ -0,0 +1,571 @@
+\r
+/*includes*/\r
+#include "coredef0.h"  /*\83V\83X\83e\83\80\92è\90\94\90é\8c¾*/\r
+#include "coredef1.h"  /*\83V\83X\83e\83\80\83f\81[\83^\8c^\90é\8c¾*/\r
+#include "coredef2.h"  /*\83V\83X\83e\83\80\8aO\95\94\83\8a\83\\81[\83X\90é\8c¾*/\r
+#include "coredef3.h"  /*TaskControlMessage\90é\8c¾*/\r
+#include "keyid.h"             /*KeyIdentifier \83L\81[ID\90é\8c¾*/\r
+#include "structid.h"  /*SystemCommonStructID\90é\8c¾*/\r
+\r
+/*functions*/\r
+/*bootpack.c \8aî\8a²\95\94\95ª*/\r
+void KeyboardControlTask(DATA_FIFO32 **InputFocus);\r
+void MouseControlTask(DATA_FIFO32 **InputFocus, UI_MouseCursor *mcursor);\r
+\r
+/*callbios.c 32bit\82©\82çBIOS\82ð\83R\81[\83\8b\82·\82é\82½\82ß\82Ì\8aÖ\90\94\8cQ*/\r
+\r
+IO_CallBIOSControl *Initialize_CallBIOS(void);\r
+void CallBIOS_Execute(IO_CallBIOSControl *ctrl, uchar intn, DATA_FIFO32 *fifo, uint endsignal);\r
+void CallBIOS_Send_End_Of_Operation(IO_CallBIOSControl *ctrl, uint abort);\r
+void CallBIOS_Check_Privileged_Operation(uint *esp);\r
+uint CallBIOS_Push_Data_To_Stack(uint *esp, ushort data);\r
+uint CallBIOS_Pop_Data_From_Stack(uint *esp);\r
+\r
+/*cfunc.c vsnprintf\82Ì\93Æ\8e©\8eÀ\91\95\93\99*/\r
+void srand(uint seed);\r
+uint rand(void);\r
+uint isqrt(uint n);\r
+uint strtol(const uchar s[], uchar *endptr[], uint base);\r
+bool CFunction_CompareStrings(const uchar s1[], const uchar s2[]);\r
+bool CFunction_CompareStrings_n(const uchar s1[], const uchar s2[], unsigned int n);\r
+uint CFunction_ExtractBits(uint source, uint start, uint end);\r
+bool CFunction_String_GetWord(const uchar s[], uchar *wordptr[], uint n);\r
+uint CFunction_MemoryMove(void *destination, uint destination_size, const void *source, uint source_size);\r
+int snprintf(uchar s[], uint n, const uchar format[], ...);\r
+int vsnprintf(uchar s[], uint n, const uchar format[], uint vargs[]);\r
+//\r
+int CFunction_vsnprintf(uchar s[], uint n, const uchar format[], uint vargs[]);\r
+void CFunction_vsnprintf_Initialize_WorkArea(CFunction_vsnprintf_WorkArea *work, uchar s[], const uchar format[], uint n, uint vargs[]);\r
+int CFunction_vsnprintf_Check_FormatBuffer(CFunction_vsnprintf_WorkArea *work);\r
+int CFunction_vsnprintf_Check_DestinationBuffer(CFunction_vsnprintf_WorkArea *work);\r
+uchar CFunction_vsnprintf_Read_FormatBuffer(CFunction_vsnprintf_WorkArea *work);\r
+void CFunction_vsnprintf_Write_DestinationBuffer(CFunction_vsnprintf_WorkArea *work, uchar c);\r
+void CFunction_vsnprintf_End(CFunction_vsnprintf_WorkArea *work);\r
+uint CFunction_vsnprintf_Get_NextArgument(CFunction_vsnprintf_WorkArea *work);\r
+void CFunction_vsnprintf_To_String_From_Hex_Upper(CFunction_vsnprintf_WorkArea *work, uint hex);\r
+void CFunction_vsnprintf_To_String_From_Hex_Lower(CFunction_vsnprintf_WorkArea *work, uint hex);\r
+void CFunction_vsnprintf_To_String_From_Decimal_Unsigned(CFunction_vsnprintf_WorkArea *work, uint d);\r
+\r
+/*color.c \90F\8aÖ\98A*/\r
+extern uint RGB_Table_08[16];\r
+ushort RGB_08_To_16(uchar c8);\r
+uint RGB_08_To_32(uchar c8);\r
+uchar RGB_16_To_08(ushort c16);\r
+uint RGB_16_To_32(ushort c16);\r
+uchar RGB_32_To_08(uint c32);\r
+uchar RGB_32_To_08_xy(uint c32, int x, int y);\r
+ushort RGB_32_To_16(uint c32);\r
+\r
+/*console.c \83R\83\93\83\\81[\83\8b\8aÖ\98A*/\r
+UI_Console *Console_Initialize(void);\r
+uint Console_SetSize(UI_Console *console, uint xchars, uint ychars);\r
+uint Console_Run(UI_Console *console);\r
+void Console_MainTask(UI_Console *console);\r
+bool Console_CompareCommandline_s(UI_Console *console, const uchar s[]);\r
+bool Console_CompareCommandline_n(UI_Console *console, const uchar s[], unsigned int n);\r
+uint Console_printf(UI_Console *console, const uchar format[], ...);\r
+uint Console_Command_dir(UI_Console *console);\r
+uint Console_Command_pci(UI_Console *console);\r
+uint Console_Command_type(UI_Console *console);\r
+uint Console_Command_task(UI_Console *console);\r
+\r
+/*debug.c \83f\83o\83b\83O\8ex\89\87*/\r
+#ifdef CHNOSPROJECT_DEBUG\r
+void debug(const uchar format[], ...);\r
+void Debug_PhysicalMemoryDump(void *addr, uint bytes);\r
+void Debug_Set_Breakpoint(uint reg, void *addr, uint rw, uint len);\r
+void Debug_ExceptionHandler(uint *esp);\r
+#endif\r
+\r
+/*display.c \83f\83B\83X\83v\83\8c\83C\90§\8cä\8aÖ\98A*/\r
+IO_DisplayControl *Initialize_Display(void);\r
+uint Display_VESA_Set_VideoMode(IO_DisplayControl *ctrl, uint index);\r
+\r
+/*draw08.c 8bit\95`\89æ\8aÖ\98A*/\r
+void Drawing08_Initialize_Palette(void);\r
+void Drawing08_Set_Palette(uint start, uint end, uchar *rgb);\r
+void Drawing08_Fill_Rectangle(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
+void Drawing08_Put_Font(void *vram, uint xsize, uint x, uint y, uint c, const uchar *font);\r
+void Drawing08_Put_String(void *vram, uint xsize, uint x, uint y, uint c, const uchar s[]);\r
+void Drawing08_Draw_Point(void *vram, uint xsize, uint x, uint y, uint c);\r
+\r
+/*draw16.c 16bit\95`\89æ\8aÖ\98A*/\r
+void Drawing16_Fill_Rectangle(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
+void Drawing16_Put_Font(void *vram, uint xsize, uint x, uint y, uint c, const uchar *font);\r
+void Drawing16_Put_String(void *vram, uint xsize, uint x, uint y, uint c, const uchar s[]);\r
+void Drawing16_Draw_Point(void *vram, uint xsize, uint x, uint y, uint c);\r
+\r
+/*draw32.c 32bit\95`\89æ\8aÖ\98A*/\r
+void Drawing32_Fill_Rectangle(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
+void Drawing32_Put_Font(void *vram, uint xsize, uint x, uint y, uint c, const uchar *font);\r
+void Drawing32_Put_String(void *vram, uint xsize, uint x, uint y, uint c, const uchar s[]);\r
+void Drawing32_Draw_Point(void *vram, uint xsize, uint x, uint y, uint c);\r
+\r
+/*drawing.c \95`\89æ\8aÖ\98A*/\r
+extern void (*Drawing_Fill_Rectangle)(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
+extern void (*Drawing_Put_String)(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);\r
+extern void (*Drawing_Draw_Point)(void *vram, uint xsize, uint x, uint y, uint c);\r
+void Drawing_Invalid_Put_String(void *vram, uint xsize, uint x, uint y, uint c, const uchar *s);\r
+void Drawing_Invalid_Fill_Rectangle(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
+void Drawing_Invalid_Draw_Point(void *vram, uint xsize, uint x, uint y, uint c);\r
+void Drawing_Invalid_Draw_Line_PQ(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
+void Initialize_Drawing(void);\r
+void Drawing_Draw_Line_PQ(void *vram, uint xsize, uint c, uint x0, uint y0, uint x1, uint y1);\r
+void Drawing_Draw_Circle(void *vram, uint xsize, uint x, uint y, uint c, uint r);\r
+void Drawing_Fill_Circle(void *vram, uint xsize, uint x, uint y, uint c, uint r);\r
+\r
+/*dsctbl.c \83Z\83O\83\81\83\93\83g\81E\83Q\81[\83g\83f\83B\83X\83N\83\8a\83v\83^\8aÖ\98A*/\r
+void Initialize_GlobalDescriptorTable(void);\r
+void Initialize_InterruptDescriptorTable(void);\r
+void SegmentDescriptor_Set(IO_SegmentDescriptor *seg_desc, uint limit, uint base, uint ar);\r
+uint SegmentDescriptor_Get_Base(IO_SegmentDescriptor *seg_desc);\r
+uint SegmentDescriptor_Get_Limit(IO_SegmentDescriptor *seg_desc);\r
+uint SegmentDescriptor_Get_AccessRight(IO_SegmentDescriptor *seg_desc);\r
+void GateDescriptor_Set(IO_GateDescriptor *gate_desc, uint offset, uint selector, uint ar);\r
+\r
+/*emu86.c x86\83G\83~\83\85\83\8c\81[\83^\81[\8aÖ\98A*/\r
+void Emulator_x86_Initialize(Emulator_x86_Environment *env);\r
+uint Emulator_x86_Execute(Emulator_x86_Environment *env);\r
+uint Emulator_x86_Execute_Auto(Emulator_x86_Environment *env);\r
+int Emulator_x86_Put_EmulationInformation(Emulator_x86_Environment *env, const uchar format[], ...);\r
+uint Emulator_x86_FetchCode(Emulator_x86_Environment *env, uint bytes);\r
+void Emulator_x86_InstructionPointer_Increment(Emulator_x86_Environment *env);\r
+uint Emulator_x86_Get_EffectivePhysicalAddress(Emulator_x86_Environment *env, uint sreg, uint offset);\r
+uint Emulator_x86_Get_EffectivePhysicalAddress_FromModRM(Emulator_x86_Environment *env, uint modrm);\r
+void Emulator_x86_MoveToGReg(Emulator_x86_Environment *env, uint reg, uint data, uint fullsize);\r
+uint Emulator_x86_MoveFromGReg(Emulator_x86_Environment *env, uint reg, uint fullsize);\r
+void Emulator_x86_MoveToSReg(Emulator_x86_Environment *env, uint sreg, ushort selector);\r
+void Emulator_x86_Push_Data_To_Stack(Emulator_x86_Environment *env, uint data, uint size_dword);\r
+uint Emulator_x86_Pop_Data_From_Stack(Emulator_x86_Environment *env, uint size_dword);\r
+void Emulator_x86_Push_eIP_To_Stack(Emulator_x86_Environment *env);\r
+void Emulator_x86_Pop_eIP_From_Stack(Emulator_x86_Environment *env);\r
+void Emulator_x86_Push_eFLAGS_To_Stack(Emulator_x86_Environment *env);\r
+void Emulator_x86_Pop_eFLAGS_From_Stack(Emulator_x86_Environment *env);\r
+void Emulator_x86_Push_SReg_To_Stack(Emulator_x86_Environment *env, uint sreg);\r
+void Emulator_x86_Pop_SReg_From_Stack(Emulator_x86_Environment *env, uint sreg);\r
+//\r
+void Emulator_x86_Operation_MOV_To_Reg_FullSize(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_MOV_To_SegReg(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_MOV_To_ByteReg(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_INTn(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_LEA(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_CALL_Near_Relative(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_PUSHA(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_POPA(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_MOV_To_ByteReg_Gb_Eb(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_CMP_AL(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_Jcc_JE_rel8(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_INC_RegOnly(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_JMP_rel8(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_RET_Near(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_PUSH_RegOnly(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_XOR_Eb_Gb(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_DEC_RegOnly(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_MOV_eAX_Ov(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_MOV_Ov_eAX(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_OUT_AL(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_CMP_Gv_Ev(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_LOOP_Jv(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_POP_Ev(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_POP_RegOnly(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_Jcc_JNE_rel8(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_STI(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_SBB_Gv_Ev(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_MOV_Ev_Gv(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_PUSH_Ib(Emulator_x86_Environment *env);\r
+void Emulator_x86_Operation_CLD(Emulator_x86_Environment *env);\r
+\r
+/*emu86asm.nas x86\83G\83~\83\85\83\8c\81[\83^\81[\8aÖ\98A\83A\83Z\83\93\83u\83\89\8aÖ\90\94*/\r
+uint asm_Emulator_x86_Get_EFlags_Compare(uint first_op, uint second_op);       //eflags\82ð\95Ô\82·\r
+uint asm_Emulator_x86_Get_EFlags_Increment(uint first_op);\r
+uint asm_Emulator_x86_Get_EFlags_XOR(uint first_op, uint second_op);\r
+uint asm_Emulator_x86_Get_EFlags_Decrement(uint first_op);\r
+uint asm_Emulator_x86_Get_EFlags_Subtract_with_Borrow(uint *first_op, uint second_op, uint borrow);\r
+\r
+/*error.c \83G\83\89\81[\8aÖ\98A*/\r
+uint Error_Report(uint error_no, ...);\r
+void Error_Abort(void);\r
+void Error_Set_Enable_SerialPort(bool serial);\r
+void Error_Set_Enable_Display_TextMode(bool tdisp);\r
+void Error_Set_Enable_Display_GraphicMode(bool gdisp, void *vram, uint xsize, uint lines);\r
+int Error_Put_String(const uchar format[], ...);\r
+void Error_CPU_Exception_Put_Registers_With_ErrorCode(uint *esp);\r
+void Error_CPU_Exception_Put_Registers_Without_ErrorCode(uint *esp);\r
+\r
+/*fifo.c FIFO\83o\83b\83t\83@\8aÖ\98A*/\r
+DATA_FIFO32 *FIFO32_Initialize(IO_MemoryControl memctrl, uint size);\r
+int FIFO32_Put(DATA_FIFO32 *fifo, uint data);\r
+int FIFO32_Put_Arguments(DATA_FIFO32 *fifo, uint args, ...);\r
+void FIFO32_Set_Task(DATA_FIFO32 *fifo, UI_Task *task);\r
+uint FIFO32_Get(DATA_FIFO32 *fifo);\r
+uint FIFO32_Status(DATA_FIFO32 *fifo);\r
+void FIFO32_Free(DATA_FIFO32 *fifo);\r
+uint FIFO32_MyTaskFIFO_Status(void);\r
+uint FIFO32_MyTaskFIFO_Get(void);\r
+\r
+/*file.c \83t\83@\83C\83\8b\8aÖ\98A*/\r
+IO_File *File_Initilaize(void);\r
+uint File_Free(IO_File *file);\r
+\r
+/*floppy.c \83t\83\8d\83b\83s\81[\83f\83B\83X\83N\8aÖ\98A*/\r
+IO_FloppyDisk *FloppyDisk_Initialize(void *img);\r
+uint FloppyDisk_Decode_FAT16(IO_FloppyDisk *fd, bool backup);\r
+bool FloppyDisk_IsPathExist(IO_FloppyDisk *fd, const uchar path[]);\r
+uint FloppyDisk_LoadFile(IO_FloppyDisk *fd, IO_File *file, const uchar path[]);\r
+IO_FloppyDisk_DirectoryEntry *FloppyDisk_Internal_GetDirectoryEntryFromPath(IO_FloppyDisk *fd, const uchar path[]);\r
+\r
+/*fmt_bmp.c \83r\83b\83g\83}\83b\83v\95`\89æ\8aÖ\98A*/\r
+uint Format_BMP_DrawPicture(void *vram, uint xsize, uint x, uint y, uint pxsize, uint pysize, void *bmp);\r
+\r
+/*intrpt.c \8a\84\82è\8d\9e\82Ý\8aÖ\98A*/\r
+void Initialize_ProgrammableInterruptController(void);\r
+void ProgrammableInterruptController_InterruptMask_Clear(uint irq);\r
+void ProgrammableInterruptController_InterruptRequest_Complete(uint irq);\r
+void InterruptHandler27(uint *esp);\r
+\r
+/*keyboard.c \83L\81[\83{\81[\83h\8aÖ\98A*/\r
+void Initialize_Keyboard(void);\r
+void InterruptHandler21(uint *esp);\r
+void Keyboard_Set_ReceiveFIFO(DATA_FIFO32 *fifo, uint data0);\r
+ushort Keyboard_Decode_KeyCode(uchar keycode);\r
+void KeyboardController_SetLED(uchar leds);\r
+void KeyboardController_Wait_SendReady(void);\r
+void KeyboardController_SendData(uchar data);\r
+void KeyboardController_SendCommand(uchar cmd);\r
+\r
+/*memory.c \83\81\83\82\83\8a\8aÖ\98A*/\r
+uint Memory_Test(uint start, uint end);\r
+IO_MemoryControl Memory_Initialize_Control(void *start, uint size, uint tags);\r
+void Memory_Free(IO_MemoryControl ctrl, void *addr, uint size);\r
+void Memory_Free_Sub(IO_MemoryControl ctrl, uint tagno);\r
+void *Memory_Allocate(IO_MemoryControl ctrl, uint size);\r
+void *Memory_Allocate_Aligned(IO_MemoryControl ctrl, uint size, uint align);\r
+uint Memory_Get_FreeSize(IO_MemoryControl ctrl);\r
+\r
+/*mouse.c \83}\83E\83X\8aÖ\98A*/\r
+IO_MouseControl *Initialize_Mouse(void);\r
+void InterruptHandler2c(uint *esp);\r
+void Mouse_Set_ReceiveFIFO(DATA_FIFO32 *fifo, uint data0);\r
+void Mouse_SendCommand(uint cmd);\r
+UI_MouseCursor *MouseCursor_Initialize(UI_Sheet *parent);\r
+uint MouseCursor_Show(UI_MouseCursor *mcursor);\r
+uint MouseCursor_Move_Relative(UI_MouseCursor *mcursor, int rpx, int rpy);\r
+uint MouseCursor_Move_Absolute(UI_MouseCursor *mcursor, int apx, int apy);\r
+bool Mouse_Decode(IO_MouseControl *mctrl, uint data);\r
+\r
+/*mtask.c \83}\83\8b\83`\83^\83X\83N\8aÖ\98A*/\r
+UI_TaskControl *Initialize_MultiTask_Control(IO_MemoryControl sysmemctrl);\r
+UI_Task *MultiTask_Task_Initialize(UI_TaskControl *ctrl, uint tss_additional_size);\r
+uint MultiTask_Internal_Task_SetLink(UI_TaskControl *ctrl, UI_Task *task);\r
+uint MultiTask_Internal_Task_CleartLink(UI_TaskControl *ctrl, UI_Task *task);\r
+void MultiTask_Task_Run(UI_TaskControl *ctrl, UI_Task *task);\r
+void MultiTask_TaskSwitch(UI_TaskControl *ctrl);\r
+void MultiTask_Task_Sleep(UI_TaskControl *ctrl, UI_Task *task);\r
+void MultiTask_Task_Kill(UI_TaskControl *ctrl, UI_Task *task);\r
+UI_Task *MultiTask_GetNowTask(UI_TaskControl *ctrl);\r
+uint MultiTask_Push_Arguments(UI_Task *task, uint args, ...);\r
+\r
+/*pci.c PCI\8aÖ\98A*/\r
+void Initialize_PCI(void);\r
+void PCI_ConfigurationRegister_SelectDevice(uint bus, uint device, uint function);\r
+uint PCI_ConfigurationRegister_Read32(uint addr);\r
+uchar *PCI_GetDeviceVendor(uint id);\r
+uchar *PCI_GetDeviceClass(uint id);\r
+uchar *PCI_GetDeviceType(uint id);\r
+\r
+/*serial.c \83V\83\8a\83A\83\8b\92Ê\90M\8aÖ\98A*/\r
+void Initialize_SerialPort(void);\r
+void SerialPort_Send(const uchar s[]);\r
+\r
+/*sheet.c \83V\81[\83g\8aÖ\98A*/\r
+UI_Sheet *Sheet_Initialize(void);\r
+uint Sheet_Free(UI_Sheet *sheet);\r
+uint Sheet_SetBuffer(UI_Sheet *sheet, void *vram, uint xsize, uint ysize, uint bpp);\r
+uint Sheet_SetParent(UI_Sheet *sheet, UI_Sheet *parent);\r
+uint Sheet_Show(UI_Sheet *sheet, uint height, int px, int py);\r
+uint Sheet_ChangeHeight(UI_Sheet *sheet, uint height);\r
+uint Sheet_RefreshSheet_All(UI_Sheet *sheet);\r
+uint Sheet_Slide_Absolute(UI_Sheet *sheet, int apx, int apy);\r
+uint Sheet_Slide_Relative(UI_Sheet *sheet, int rpx, int rpy);\r
+uint Sheet_RefreshAllInRange(UI_Sheet *parent, int px0, int py0, int px1, int py1);\r
+uint Sheet_RefreshSheet(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet_RefreshMap(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet_RefreshMap_All(UI_Sheet *sheet);\r
+uint Sheet_Enable_InvisibleColor(UI_Sheet *sheet, uint invcol);\r
+uint Sheet_Disable_InvisibleColor(UI_Sheet *sheet);\r
+uint Sheet_SetTopmost(UI_Sheet *sheet, bool topmost);\r
+UI_Sheet *Sheet_GetSheetFromLocation(UI_Sheet *parent, int px, int py);\r
+uint Sheet_SetMovable(UI_Sheet *sheet, bool movable);\r
+uint Sheet_SetInputFIFO(UI_Sheet *sheet, DATA_FIFO32 *fifo);\r
+\r
+/*sht08.c 8bit\83J\83\89\81\83V\81[\83g\8aÖ\98A*/\r
+uint Sheet08_Internal_SetBuffer(UI_Sheet *sheet, void *vram, uint xsize, uint ysize, uint bpp);\r
+uint Sheet08_Config_Functions(UI_Sheet *sheet);\r
+uint Sheet08_Internal_RefreshSheet_To_08(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet08_Internal_RefreshSheet_To_16(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet08_Internal_RefreshSheet_To_32(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+bool Sheet08_Internal_IsVisiblePixel(UI_Sheet *sheet, int px, int py);\r
+\r
+/*sht16.c 16bit\83J\83\89\81\83V\81[\83g\8aÖ\98A*/\r
+uint Sheet16_Internal_SetBuffer(UI_Sheet *sheet, void *vram, uint xsize, uint ysize, uint bpp);\r
+uint Sheet16_Config_Functions(UI_Sheet *sheet);\r
+uint Sheet16_Internal_RefreshSheet_To_16(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet16_Internal_RefreshSheet_To_08(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet16_Internal_RefreshSheet_To_32(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+bool Sheet16_Internal_IsVisiblePixel(UI_Sheet *sheet, int px, int py);\r
+\r
+/*sht32.c 32bit\83J\83\89\81\83V\81[\83g\8aÖ\98A*/\r
+uint Sheet32_Internal_SetBuffer(UI_Sheet *sheet, void *vram, uint xsize, uint ysize, uint bpp);\r
+uint Sheet32_Config_Functions(UI_Sheet *sheet);\r
+uint Sheet32_Internal_RefreshSheet_To_32(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet32_Internal_RefreshSheet_To_16(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet32_Internal_RefreshSheet_To_08_xy(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+bool Sheet32_Internal_IsVisiblePixel(UI_Sheet *sheet, int px, int py);\r
+\r
+/*shtdraw \83V\81[\83g\95`\89æ\8aÖ\90\94*/\r
+uint Sheet_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1);\r
+uint Sheet_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[]);\r
+uint Sheet_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c);\r
+uint Sheet_Drawing_Scroll_Vertical(UI_Sheet *sheet, int vpx);\r
+//\r
+uint Sheet_Drawing_Fill_Rectangle_Invalid(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1);\r
+uint Sheet_Drawing_Put_String_Invalid(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[]);\r
+uint Sheet_Drawing_Draw_Point_Invalid(UI_Sheet *sheet, int x, int y, uint c);\r
+//\r
+uint Sheet08_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1);\r
+uint Sheet08_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[]);\r
+uint Sheet08_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c);\r
+//\r
+uint Sheet16_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1);\r
+uint Sheet16_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[]);\r
+uint Sheet16_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c);\r
+//\r
+uint Sheet32_Drawing_Fill_Rectangle(UI_Sheet *sheet, uint c, int px0, int py0, int px1, int py1);\r
+uint Sheet32_Drawing_Put_String(UI_Sheet *sheet, int x, int y, uint fc, const uchar s[]);\r
+uint Sheet32_Drawing_Draw_Point(UI_Sheet *sheet, int x, int y, uint c);\r
+\r
+/*shtfunc.c \83V\81[\83g\93à\95\94\8aÖ\90\94*/\r
+uint Sheet_Internal_GetLocationP(UI_Sheet *sheet, DATA_Location2D *dest);\r
+uint Sheet_Internal_GetLocationQ(UI_Sheet *sheet, DATA_Location2D *dest);\r
+uint Sheet_Internal_GetLocationR(UI_Sheet *sheet, DATA_Location2D *dest);\r
+uint Sheet_Internal_GetLocationS(UI_Sheet *sheet, DATA_Location2D *dest);\r
+uint Sheet_Internal_MapInitialize(UI_Sheet *parent);\r
+uint Sheet_Internal_MapWriteFromSheet(UI_Sheet *sheet, bool force, int px0, int py0, int px1, int py1);\r
+bool Sheet_Internal_IsLocationInRangeOfSheet(UI_Sheet *sheet, int px, int py);\r
+bool Sheet_Internal_IsRangeOverlappedWithSheet(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+UI_Sheet *Sheet_Internal_GetSheetFromLocation(UI_Sheet *parent, int px, int py);\r
+uint Sheet_Internal_MapRebuild(UI_Sheet *parent, int px0, int py0, int px1, int py1);\r
+uint Sheet_Internal_MapRefresh(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet_Internal_RefreshSheet(UI_Sheet *sheet, int px0, int py0, int px1, int py1);\r
+uint Sheet_Internal_SlideSub(UI_Sheet *sheet, int rpx, int rpy);\r
+uint Sheet_Internal_ChangeHeight(UI_Sheet *sheet, uint height);\r
+bool Sheet_Internal_IsVisiblePixel_Invalid(UI_Sheet *sheet, int px, int py);\r
+uint Sheet_Internal_RefreshSheet_Invalid(struct UI_SHEET *sheet, int px0, int py0, int px1, int py1);\r
+\r
+/*struct.c \83V\83X\83e\83\80\8d\\91¢\91Ì\8b¤\92Ê\8aÇ\97\9d\83\8b\81[\83`\83\93*/\r
+System_CommonStruct *System_CommonStruct_Allocate(uint structid);\r
+uint System_CommonStruct_Free(System_CommonStruct *str);\r
+\r
+\r
+/*system.c \83V\83X\83e\83\80\83f\81[\83^\81E\8f\89\8aú\89»\8aÖ\98A*/\r
+void Initialize_System(void);\r
+void System_Set_RunningPhase(uint phase);\r
+uint System_Get_RunningPhase(void);\r
+uint System_Get_PhisycalMemorySize(void);\r
+void System_SegmentDescriptor_Set_Absolute(uint selector, uint limit, uint base, uint ar);\r
+uint System_SegmentDescriptor_Get_Base(uint selector);\r
+uint System_SegmentDescriptor_Get_Limit(uint selector);\r
+uint System_SegmentDescriptor_Get_AccessRight(uint selector);\r
+uint System_SegmentDescriptor_Set(uint limit, uint base, uint ar);\r
+void System_GateDescriptor_Set(uint irq, uint offset, uint selector, uint ar);\r
+void System_TaskSwitch(void);\r
+UI_Task *System_MultiTask_Task_Initialize(uint tss_additional_size);\r
+void System_MultiTask_Task_Run(UI_Task *task);\r
+void *System_Memory_Allocate(uint size);\r
+UI_Task *System_MultiTask_GetNowTask(void);\r
+IO_CallBIOSControl *System_CallBIOS_Get_Controller(void);\r
+void System_CallBIOS_Execute(uchar intn, DATA_FIFO32 *fifo, uint endsignal);\r
+void System_Memory_Free(void *addr, uint size);\r
+void System_CallBIOS_Send_End_Of_Operation(uint abort);\r
+void System_MultiTask_Task_Sleep(UI_Task *task);\r
+void System_MultiTask_Task_Kill(UI_Task *task);\r
+DATA_FIFO32 *System_FIFO32_Initialize(uint size);\r
+uint System_Display_VESA_Set_VideoMode(uint index);\r
+IO_DisplayControl *System_Display_Get_Controller(void);\r
+uint System_Memory_Get_FreeSize(void);\r
+uint System_TaskControlMessage_Send_AllTask(uint message);\r
+uint System_Sheet_SetParentToVRAM(UI_Sheet *sheet);\r
+uint System_InputFocus_Change(DATA_FIFO32 *fifo);\r
+UI_TaskControl *System_MultiTask_GetController(void);\r
+\r
+/*textbox.c \83e\83L\83X\83g\93ü\97ÍUI\8aÖ\98A*/\r
+UI_TextBox *TextBox_Initialize(void);\r
+uint TextBox_SetBuffer(UI_TextBox *textbox, uint xchars, uint ychars, uint bpp, UI_Sheet *parent);\r
+uint TextBox_Show(UI_TextBox *textbox, uint height, int px, int py);\r
+uint TextBox_Put_Key(UI_TextBox *textbox, ushort keyid);\r
+uint TextBox_Put_String(UI_TextBox *textbox, const uchar s[]);\r
+uint TextBox_Put_Character(UI_TextBox *textbox, uchar c);\r
+bool TextBox_SetEnable_RecordInputText(UI_TextBox *textbox, bool enable);\r
+uint TextBox_SetEnable_CursorBlink(UI_TextBox *textbox, bool enable);\r
+uint TextBox_Cursor_Blink(UI_TextBox *textbox);\r
+uint TextBox_Internal_Put_Character(UI_TextBox *textbox, uchar c);\r
+bool TextBox_Internal_Put_Character_TextBuffer(UI_TextBox *textbox, uchar c);\r
+uint TextBox_Internal_DrawCursor(UI_TextBox *textbox, bool cursor);\r
+\r
+/*timer.c \83^\83C\83}\81[\8aÖ\98A*/\r
+UI_TimerControl *Initialize_ProgrammableIntervalTimer(void);\r
+void InterruptHandler20(uint *esp);\r
+void Timer_Set_TaskSwitch(void (*TaskSwitchFunction)(void));\r
+void Timer_TaskSwitch_Invalid(void);\r
+UI_Timer *Timer_Initialize(void);\r
+uint Timer_Config(UI_Timer *timer, uint tick_ms, DATA_FIFO32 *fifo, uint fifo_putdata, bool interval);\r
+uint Timer_Run(UI_Timer *timer);\r
+uint Timer_TimeOut(void);\r
+uint Timer_GetTick(void);\r
+\r
+/*vgatmode.c VGA\83e\83L\83X\83g\83\82\81[\83h\8aÖ\98A*/\r
+uchar VGA_CRTController_ReadRegister(uchar regno);\r
+void VGA_CRTController_WriteRegister(uchar regno, uchar data);\r
+void TextMode_Write_TextRAM(ushort index, uchar data);\r
+void TextMode_Put_Character_Absolute(uchar c, col_text col, ushort location);\r
+void TextMode_Put_String_Absolute(const uchar s[], col_text col, uint x, uint y);\r
+void TextMode_Clear_Screen(void);\r
+ushort TextMode_Get_CursorLocation(void);\r
+void TextMode_Set_CursorLocation(ushort location);\r
+void TextMode_Put_Character(uchar c, col_text col);\r
+void TextMode_Newline(void);\r
+void TextMode_Put_String(const uchar s[], col_text col);\r
+\r
+/*xception.c \97á\8aO\8aÖ\98A*/\r
+void CPU_ExceptionHandler00(uint *esp);\r
+void CPU_ExceptionHandler01(uint *esp);\r
+void CPU_ExceptionHandler02(uint *esp);\r
+void CPU_ExceptionHandler03(uint *esp);\r
+void CPU_ExceptionHandler04(uint *esp);\r
+void CPU_ExceptionHandler05(uint *esp);\r
+void CPU_ExceptionHandler06(uint *esp);\r
+void CPU_ExceptionHandler07(uint *esp);\r
+void CPU_ExceptionHandler08(uint *esp);\r
+void CPU_ExceptionHandler09(uint *esp);\r
+void CPU_ExceptionHandler0a(uint *esp);\r
+void CPU_ExceptionHandler0b(uint *esp);\r
+void CPU_ExceptionHandler0c(uint *esp);\r
+void CPU_ExceptionHandler0d(uint *esp);\r
+void CPU_ExceptionHandler0e(uint *esp);\r
+void CPU_ExceptionHandler0f(uint *esp);\r
+void CPU_ExceptionHandler10(uint *esp);\r
+void CPU_ExceptionHandler11(uint *esp);\r
+void CPU_ExceptionHandler12(uint *esp);\r
+void CPU_ExceptionHandler13(uint *esp);\r
+void CPU_ExceptionHandler14(uint *esp);\r
+void CPU_ExceptionHandler15(uint *esp);\r
+void CPU_ExceptionHandler16(uint *esp);\r
+void CPU_ExceptionHandler17(uint *esp);\r
+void CPU_ExceptionHandler18(uint *esp);\r
+void CPU_ExceptionHandler19(uint *esp);\r
+void CPU_ExceptionHandler1a(uint *esp);\r
+void CPU_ExceptionHandler1b(uint *esp);\r
+void CPU_ExceptionHandler1c(uint *esp);\r
+void CPU_ExceptionHandler1d(uint *esp);\r
+void CPU_ExceptionHandler1e(uint *esp);\r
+void CPU_ExceptionHandler1f(uint *esp);\r
+\r
+/*nasfunc0.nas \91¼\82Ì\8aÖ\90\94\82É\91S\82­\88Ë\91\82µ\82È\82¢\83A\83Z\83\93\83u\83\89\8aÖ\90\94\8cQ*/\r
+void IO_HLT(void);                     //CPU\82ð\92â\8e~\82³\82¹\82é\81B\8a\84\82è\8d\9e\82Ý\82ª\82 \82é\82Æ\8dÄ\8aJ\82·\82é\81B\93Á\8c \96½\97ß\81B\r
+void IO_CLI(void);                     //CPU\82Ö\82Ì\8aO\95\94\8a\84\82è\8d\9e\82Ý\82ð\92â\8e~\82³\82¹\82é\81B\93Á\8c \96½\97ß\81BNMI\82Æ\97á\8aO\82É\82Í\8cø\82©\82È\82¢\81B\r
+void IO_STI(void);                     //CPU\82Ö\82Ì\8aO\95\94\8a\84\82è\8d\9e\82Ý\82ð\8dÄ\8aJ\82³\82¹\82é\81B\93Á\8c \96½\97ß\81B\r
+void IO_STIHLT(void);                  //CPU\82Ö\82Ì\8aO\95\94\8a\84\82è\8d\9e\82Ý\82ð\8dÄ\8aJ\82³\82¹\82½\8cã\81ACPU\82ð\92â\8e~\82³\82¹\82é\81Bsti\82Æhlt\82Ì\8aÔ\82É\94­\90\82·\82é\8a\84\82è\8d\9e\82Ý\82Ö\82Ì\91Î\8dô\81B\81B\r
+uint IO_In8(uint port);                        //port\94Ô\82ÌI/O\83|\81[\83g\82©\82ç\83f\81[\83^\82ð\83o\83C\83g\92P\88Ê\82Å\8eó\82¯\8eæ\82é\81B\96ß\82è\92l\82Í\8eó\82¯\8eæ\82Á\82½\83f\81[\83^\81BI/O\93Á\8c \96½\97ß\81B\r
+void IO_Out8(uint port, uint data);    //port\94Ô\82ÌI/O\83|\81[\83g\82Édata\82ð\83o\83C\83g\92P\88Ê\82Å\8fo\97Í\82·\82é\81BI/O\93Á\8c \96½\97ß\81B\r
+uint IO_In16(uint port);               //port\94Ô\82ÌI/O\83|\81[\83g\82©\82ç\83f\81[\83^\82ð\83\8f\81[\83h\92P\88Ê\82Å\8eó\82¯\8eæ\82é\81B\96ß\82è\92l\82Í\8eó\82¯\8eæ\82Á\82½\83f\81[\83^\81BI/O\93Á\8c \96½\97ß\81B\r
+void IO_Out16(uint port, uint data);   //port\94Ô\82ÌI/O\83|\81[\83g\82Édata\82ð\83\8f\81[\83h\92P\88Ê\82Å\8fo\97Í\82·\82é\81BI/O\93Á\8c \96½\97ß\81B\r
+uint IO_In32(uint port);               //port\94Ô\82ÌI/O\83|\81[\83g\82©\82ç\83f\81[\83^\82ð\83_\83u\83\8b\83\8f\81[\83h\92P\88Ê\82Å\8eó\82¯\8eæ\82é\81B\96ß\82è\92l\82Í\8eó\82¯\8eæ\82Á\82½\83f\81[\83^\81BI/O\93Á\8c \96½\97ß\81B\r
+void IO_Out32(uint port, uint data);   //port\94Ô\82ÌI/O\83|\81[\83g\82Édata\82ð\83_\83u\83\8b\83\8f\81[\83h\92P\88Ê\82Å\8fo\97Í\82·\82é\81BI/O\93Á\8c \96½\97ß\81B\r
+uint IO_Load_EFlags(void);             //EFLAGS\83\8c\83W\83X\83^\82ð\93Ç\82Ý\8d\9e\82Þ\81B\r
+void IO_Store_EFlags(uint eflags);     //EFLAGS\83\8c\83W\83X\83^\82ðeflags\82É\95Ï\8dX\82·\82é\81B\r
+uint Load_CR0(void);                   //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^0\82ð\93Ç\82Ý\8d\9e\82Þ\81B\93Á\8c \96½\97ß\81B\r
+void Store_CR0(uint cr0);              //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^0\82ðcr0\82É\95Ï\8dX\82·\82é\81B\93Á\8c \96½\97ß\81B\r
+uint Load_CR2(void);                   //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^2\82ð\93Ç\82Ý\8d\9e\82Þ\81B\93Á\8c \96½\97ß\81B\r
+void Store_CR2(uint cr2);              //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^2\82ðcr2\82É\95Ï\8dX\82·\82é\81B\93Á\8c \96½\97ß\81B\r
+uint Load_CR3(void);                   //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^3\82ð\93Ç\82Ý\8d\9e\82Þ\81B\93Á\8c \96½\97ß\81B\r
+void Store_CR3(uint cr3);              //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^3\82ðcr3\82É\95Ï\8dX\82·\82é\81B\93Á\8c \96½\97ß\81B\r
+uint Load_CR4(void);                   //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^4\82ð\93Ç\82Ý\8d\9e\82Þ\81B\93Á\8c \96½\97ß\81B\r
+void Store_CR4(uint cr4);              //\83R\83\93\83g\83\8d\81[\83\8b\83\8c\83W\83X\83^4\82ðcr4\82É\95Ï\8dX\82·\82é\81B\93Á\8c \96½\97ß\81B\r
+uint Load_DR0(void);\r
+void Store_DR0(uint dr0);\r
+uint Load_DR1(void);\r
+void Store_DR1(uint dr1);\r
+uint Load_DR2(void);\r
+void Store_DR2(uint dr2);\r
+uint Load_DR3(void);\r
+void Store_DR3(uint dr3);\r
+uint Load_DR6(void);\r
+void Store_DR6(uint dr6);\r
+uint Load_DR7(void);\r
+void Store_DR7(uint dr7);\r
+void Load_GDTR(uint limit, uint addr); //\83O\83\8d\81[\83o\83\8b\81E\83f\83B\83X\83N\83\8a\83v\83^\81E\83e\81[\83u\83\8b\81E\83\8c\83W\83X\83^(GDTR)\82É\81Aaddr\82©\82çlimit\82Ì\94Í\88Í\82ðGDT\82Æ\82µ\82Ä\83\8d\81[\83h\82³\82¹\82é\81B\93Á\8c \96½\97ß\81B\r
+void Load_IDTR(uint limit, uint addr); //\83C\83\93\83^\83\89\83v\83g\81E\83f\83B\83X\83N\83\8a\83v\83^\81E\83e\81[\83u\83\8b\81E\83\8c\83W\83X\83^(IDTR)\82É\81Aaddr\82©\82çlimit\82Ì\94Í\88Í\82ðIDT\82Æ\82µ\82Ä\83\8d\81[\83h\82³\82¹\82é\81B\93Á\8c \96½\97ß\81B\r
+void Load_TR(uint tr);                 //\83Z\83O\83\81\83\93\83g\81E\83Z\83\8c\83N\83^tr\82ð\81A\83^\83X\83N\83\8c\83W\83X\83^\82É\8c»\8dÝ\82Ì\83^\83X\83N\82Æ\82µ\82Ä\83\8d\81[\83h\82³\82¹\82é\81B\93Á\8c \96½\97ß\81B\r
+void FarJMP(uint eip, uint cs);                //\8c»\8dÝ\82Ì\83Z\83O\83\81\83\93\83g\82Æ\82Í\88Ù\82È\82é\83Z\83O\83\81\83\93\83gcs\82Ì\83I\83t\83Z\83b\83geip\82É\83v\83\8d\83O\83\89\83\80\82Ì\90§\8cä\82ð\88Ú\82·\81B\r
+void FarCall(uint eip, uint cs);       //\8c»\8dÝ\82Ì\83Z\83O\83\81\83\93\83g\82Æ\82Í\88Ù\82È\82é\83Z\83O\83\81\83\93\83gcs\82Ì\83I\83t\83Z\83b\83geip\82É\83v\83\8d\83O\83\89\83\80\82Ì\90§\8cä\82ð\95ª\8aò\82³\82¹\82é\81B\r
+void CLTS(void);                       //\83R\83\93\83g\83\8d\81[\83\8b\81E\83\8c\83W\83X\83^0\93à\82É\82 \82é\81ATask-Switched\83t\83\89\83O\82ð\83N\83\8a\83A\82·\82é\81BFPU\82Ì\90§\8cä\82É\97\98\97p\81B\93Á\8c \96½\97ß\81B\r
+void FNSave(uint *addr);               //FPU\93®\8dì\8aÂ\8b«\82ðaddr\82©\82ç\8en\82Ü\82é108\83o\83C\83g\82É\8ai\94[\82µ\81AFPU\82ð\8f\89\8aú\89»\82·\82é\81B\8fÚ\8d×\82È\83`\83F\83b\83N\82Í\8ds\82í\82È\82¢\81B\r
+void FRStore(uint *addr);              //FPU\93®\8dì\8aÂ\8b«\82ðaddr\82©\82ç\8en\82Ü\82é108\83o\83C\83g\82©\82ç\95\9c\8c³\82·\82é\81B\r
+void PIT_Beep_On(void);                        //\83r\81[\83v\89¹\82ð\8aJ\8en\82·\82é\81B\r
+void PIT_Beep_Off(void);               //\83r\81[\83v\89¹\82ð\92â\8e~\82·\82é\81B\r
+void PIT_Beep_Set(uint fq);            //\83r\81[\83v\89¹\82Ì\8eü\94g\90\94\82ð\81AfqHz\82É\95Ï\8dX\82·\82é\81B\r
+                                       //fq\82Ì\92l\r
+                                       //C:262 C#:277 D:294 D#:311 E:330 F:349 F#:370 G:392 G#:415 A:440 A#:466 B:494 C:523\r
+void CPUID(void *addr, uint id);       //addr\94Ô\92n\82Ìuint[4]\82É\81ACPU\82Ì\8e¯\95Ê\8fî\95ñid\94Ô\82ðEAX\81EEBX\81EEDX\81EECX\82Ì\8f\87\94Ô\82Å\8ai\94[\82·\82é\81B\r
+void CPUID2(void *addr, uint id);      //addr\94Ô\92n\82Ìuint[4]\82É\81ACPU\82Ì\8e¯\95Ê\8fî\95ñid\94Ô\82ðEAX\81EEBX\81EECX\81EEDX\82Ì\8f\87\94Ô\82Å\8ai\94[\82·\82é\81B\r
+                                       //\8fã\8bL\93ñ\82Â\82Ì\8aÖ\90\94\82Í\81AEFLAGS\93à\82ÌID\83t\83\89\83O(\83r\83b\83g21)\82ª\95Ï\8dX\89Â\94\\82È\8fê\8d\87\82Ì\82Ý\8eÀ\8ds\82Å\82«\82é\81B\r
+void TSC_Read(uint *addr);             //addr\94Ô\92n\82Ìuint[2]\82É\81A\83}\83V\83\93\8cÅ\97L\83\8c\83W\83X\83^(MSR)\93à\82É\82 \82é\81A\83^\83C\83\80\81E\83X\83^\83\93\83v\81E\83J\83E\83\93\83^\82Ì\8fã\88Ê\81E\89º\88Ê\82»\82ê\82¼\82ê32\83r\83b\83g\82ð\93Ç\82Ý\8d\9e\82Þ\81B\r
+                                       //\82±\82Ì\8aÖ\90\94\82Í\81Acpuid\82ÌTSC\83r\83b\83g\82ª\97L\8cø\82Å\82È\82¯\82ê\82Î\8eg\97p\82Å\82«\82È\82¢\81B\r
+uint Memory_Test_Sub(uint start, uint end);\r
+void INT_3(void);                      //\83u\83\8c\81[\83N\83|\83C\83\93\83g\97á\8aO\82ð\94­\90\82³\82¹\82é\81B\r
+uint DIV_64_32(uint dividend_low, uint dividend_high, uint divisor);\r
+                                       //=((dividend_high << 32) | dividend_low) / divisor\r
+uint MOD_64_32(uint dividend_low, uint dividend_high, uint divisor);\r
+                                       //=((dividend_high << 32) | dividend_low) % divisor\r
+void MOVSD_ZeroFill(void *addr, uint bytes);   //4Byte\92P\88Ê\82Å\83[\83\8d\83t\83B\83\8b\82·\82é\81B\r
+/*nasfunc1.nas \91¼\82Ì\8aÖ\90\94\82É\88Ë\91\82·\82é\83A\83Z\83\93\83u\83\89\8aÖ\90\94\8cQ*/\r
+void asm_CPU_ExceptionHandler00(void);\r
+void asm_CPU_ExceptionHandler01(void);\r
+void asm_CPU_ExceptionHandler02(void);\r
+void asm_CPU_ExceptionHandler03(void);\r
+void asm_CPU_ExceptionHandler04(void);\r
+void asm_CPU_ExceptionHandler05(void);\r
+void asm_CPU_ExceptionHandler06(void);\r
+void asm_CPU_ExceptionHandler07(void);\r
+void asm_CPU_ExceptionHandler08(void);\r
+void asm_CPU_ExceptionHandler09(void);\r
+void asm_CPU_ExceptionHandler0a(void);\r
+void asm_CPU_ExceptionHandler0b(void);\r
+void asm_CPU_ExceptionHandler0c(void);\r
+void asm_CPU_ExceptionHandler0d(void);\r
+void asm_CPU_ExceptionHandler0e(void);\r
+void asm_CPU_ExceptionHandler0f(void);\r
+void asm_CPU_ExceptionHandler10(void);\r
+void asm_CPU_ExceptionHandler11(void);\r
+void asm_CPU_ExceptionHandler12(void);\r
+void asm_CPU_ExceptionHandler13(void);\r
+void asm_CPU_ExceptionHandler14(void);\r
+void asm_CPU_ExceptionHandler15(void);\r
+void asm_CPU_ExceptionHandler16(void);\r
+void asm_CPU_ExceptionHandler17(void);\r
+void asm_CPU_ExceptionHandler18(void);\r
+void asm_CPU_ExceptionHandler19(void);\r
+void asm_CPU_ExceptionHandler1a(void);\r
+void asm_CPU_ExceptionHandler1b(void);\r
+void asm_CPU_ExceptionHandler1c(void);\r
+void asm_CPU_ExceptionHandler1d(void);\r
+void asm_CPU_ExceptionHandler1e(void);\r
+void asm_CPU_ExceptionHandler1f(void);\r
+//\r
+void asm_InterruptHandler20(void);\r
+void asm_InterruptHandler21(void);\r
+void asm_InterruptHandler27(void);\r
+void asm_InterruptHandler2c(void);\r
+\r
+/*nasfunc2.nas 16bit\83R\81[\83h*/\r
+void asm_16bit_CallBIOSTask(void);\r