OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_010 / chnos / console.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/console.c b/CHNOSProject/chnos/tolset_chn_000/chnos_010/chnos/console.c
deleted file mode 100644 (file)
index ab8488a..0000000
+++ /dev/null
@@ -1,351 +0,0 @@
-\r
-#include "core.h"\r
-\r
-UI_Console *Console_Initialize(void)\r
-{\r
-       UI_Console *console;\r
-\r
-       console = (UI_Console *)System_CommonStruct_Allocate(SYSTEM_STRUCTID_CONSOLE);\r
-\r
-       console->task = System_MultiTask_Task_Initialize(0);\r
-       console->task->tss->eip = (uint)&Console_MainTask;\r
-       console->task->tss->cs = SYSTEM_CS << 3;\r
-       console->task->tss->ss = SYSTEM_DS << 3;\r
-       console->task->tss->ds = SYSTEM_DS << 3;\r
-       console->task->tss->esp = (uint)System_Memory_Allocate(1024 * 32) + (1024 * 32);\r
-       MultiTask_Push_Arguments(console->task, 1, console);\r
-\r
-       console->textbox = TextBox_Initialize();\r
-\r
-       console->flags.bit.initialized = True;\r
-\r
-       #ifdef CHNOSPROJECT_DEBUG_CONSOLE\r
-               debug("Console_Initialize:initialized[0x%X]\n", console);\r
-       #endif\r
-\r
-       return console;\r
-}\r
-\r
-uint Console_SetSize(UI_Console *console, uint xchars, uint ychars)\r
-{\r
-       if(console == Null){\r
-               return 1;\r
-       }\r
-\r
-       if(!console->flags.bit.initialized){\r
-               return 2;\r
-       }\r
-\r
-       if(console->flags.bit.configured_size){\r
-               return 3;\r
-       }\r
-\r
-       TextBox_SetBuffer(console->textbox, xchars, ychars, 8, Null);\r
-       System_Sheet_SetParentToVRAM(console->textbox->sheet);\r
-       Sheet_SetMovable(console->textbox->sheet, True);\r
-       Sheet_SetInputFIFO(console->textbox->sheet, console->task->fifo);\r
-\r
-       console->flags.bit.configured_size = True;\r
-\r
-       #ifdef CHNOSPROJECT_DEBUG_CONSOLE\r
-               debug("Console_SetSize:configured[0x%X]\n", console);\r
-       #endif\r
-\r
-       return 0;\r
-}\r
-\r
-uint Console_Run(UI_Console *console)\r
-{\r
-       if(console == Null){\r
-               return 1;\r
-       }\r
-\r
-       if(!console->flags.bit.initialized){\r
-               return 2;\r
-       }\r
-\r
-       if(!console->flags.bit.configured_size){\r
-               return 3;\r
-       }\r
-\r
-       #ifdef CHNOSPROJECT_DEBUG_CONSOLE\r
-               debug("Console_Run:start running[0x%X]\n", console);\r
-       #endif\r
-\r
-       System_MultiTask_Task_Run(console->task);\r
-       return 0;\r
-}\r
-\r
-void Console_MainTask(UI_Console *console)\r
-{\r
-       UI_Task *mytask;\r
-       uint data;\r
-       UI_Timer *ctimer;\r
-       bool key_ignore;\r
-\r
-       data = 0;\r
-\r
-       mytask = System_MultiTask_GetNowTask();\r
-\r
-       #ifdef CHNOSPROJECT_DEBUG\r
-               debug("CMT:ConsoleMainTask[UI_Task=0x%X] Start Running.\n", mytask);\r
-       #endif\r
-\r
-       console->printf_buffer = (uchar *)System_Memory_Allocate(CONSOLE_PRINTF_BUFFER_SIZE);\r
-\r
-       TextBox_Show(console->textbox, SHEET_MAX_CHILDREN, (int)(console->textbox->sheet->parent->size.x >> 1) - (int)(console->textbox->sheet->size.x >> 1), (int)(console->textbox->sheet->parent->size.y >> 1) - (int)(console->textbox->sheet->size.y >> 1));\r
-       if(console->textbox->sheet->location.x < 0){\r
-               Sheet_Slide_Absolute(console->textbox->sheet, 0, SHEET_LOCATION_NOCHANGE);\r
-       }\r
-       if(console->textbox->sheet->location.y < 0){\r
-               Sheet_Slide_Absolute(console->textbox->sheet, SHEET_LOCATION_NOCHANGE, 0);\r
-       }\r
-       TextBox_Put_Character(console->textbox, '>');\r
-       TextBox_SetEnable_RecordInputText(console->textbox, True);\r
-       console->flags.bit.isprompt = True;\r
-\r
-       ctimer = Timer_Initialize();\r
-       Timer_Config(ctimer, 500, mytask->fifo, 1, True);\r
-       Timer_Run(ctimer);\r
-\r
-       console->boot_fd = FloppyDisk_Initialize(ADR_DISKIMG);\r
-\r
-       for(;;){\r
-               if(FIFO32_MyTaskFIFO_Status() == 0){\r
-                       System_MultiTask_Task_Sleep(mytask);\r
-               } else{\r
-                       data = FIFO32_MyTaskFIFO_Get();\r
-                       #ifdef CHNOSPROJECT_DEBUG_CMT\r
-                               debug("CMT:Receive data from FIFO(data:0x%X).\n", data);\r
-                       #endif\r
-                       if(data < INPUTSIGNAL_OFFSET){\r
-                               //\94Ä\97p\97\98\97p\89Â\94\\97Ì\88æ0\r
-                               if(data == 1){\r
-                                       TextBox_Cursor_Blink(console->textbox);\r
-                               }\r
-                       } else if(data < SIGNAL_KEY_OFFSET){\r
-                               data -= INPUTSIGNAL_OFFSET;\r
-                               if(data == INPUTSIGNAL_FOCUS_GOT){\r
-                                       TextBox_SetEnable_CursorBlink(console->textbox, True);\r
-                               } else if(data == INPUTSIGNAL_FOCUS_LOST){\r
-                                       TextBox_SetEnable_CursorBlink(console->textbox, False);\r
-                               }\r
-                               //\93ü\97Í\92Ê\92m\97Ì\88æ\r
-                       } else if(data < SIGNAL_KEY_OFFSET + 0xffff){\r
-                               key_ignore = False;\r
-                               //keyid\92Ê\92m\r
-                               data -= SIGNAL_KEY_OFFSET;\r
-                               if(!(data & KEYID_MASK_BREAK) && (data & KEYID_MASK_EXTENDED)){\r
-                                       if((data & KEYID_MASK_ID) == KEYID_ENTER){\r
-                                               key_ignore = True;\r
-                                               TextBox_SetEnable_RecordInputText(console->textbox, False);\r
-                                               TextBox_Put_Character(console->textbox, '\n');\r
-                                               if(Console_CompareCommandline_n(console, "test", 4)){\r
-                                                       TextBox_Put_String(console->textbox, "Hello, World.\n");\r
-                                                       if(console->textbox->text_buf[4] == ' '){\r
-                                                               Console_printf(console, "value16:0x%X\n", strtol(&console->textbox->text_buf[5], Null, 0));\r
-                                                               Console_printf(console, "value10:%u\n", strtol(&console->textbox->text_buf[5], Null, 0));\r
-                                                       }\r
-                                               } else if(Console_CompareCommandline_s(console, "mem")){\r
-                                                       Console_printf(console, "Total:%10uBytes %5uKB\n", System_Get_PhisycalMemorySize(), System_Get_PhisycalMemorySize() >> 10);\r
-                                                       Console_printf(console, "Free :%10uBytes %5uKB\n", System_Memory_Get_FreeSize(), System_Memory_Get_FreeSize() >> 10);\r
-                                               } else if(Console_CompareCommandline_s(console, "dir")){\r
-                                                       Console_Command_dir(console);\r
-                                               } else if(Console_CompareCommandline_n(console, "pci", 3)){\r
-                                                       Console_Command_pci(console);\r
-                                               } else if(Console_CompareCommandline_n(console, "type", 4)){\r
-                                                       Console_Command_type(console);\r
-                                               } else if(Console_CompareCommandline_n(console, "task", 4)){\r
-                                                       Console_Command_task(console);\r
-                                               } else{\r
-                                                       TextBox_Put_String(console->textbox, "Console:There is no such file or command:");\r
-                                                       TextBox_Put_String(console->textbox, console->textbox->text_buf);\r
-                                               }\r
-                                               TextBox_Put_Character(console->textbox, '\n');\r
-                                               TextBox_Put_Character(console->textbox, '>');\r
-                                               TextBox_SetEnable_RecordInputText(console->textbox, True);\r
-                                       }\r
-                               }\r
-                               if(!key_ignore){\r
-                                       TextBox_Put_Key(console->textbox, data);\r
-                               }\r
-                       } else if(data < TCM_OFFSET){\r
-                               //\94Ä\97p\97\98\97p\89Â\94\\97Ì\88æ1\r
-                       } else{\r
-                               //TCM\97Ì\88æ\r
-                       }\r
-               }\r
-       }\r
-}\r
-\r
-bool Console_CompareCommandline_s(UI_Console *console, const uchar s[])\r
-{\r
-       return CFunction_CompareStrings(console->textbox->text_buf, s);\r
-}\r
-\r
-bool Console_CompareCommandline_n(UI_Console *console, const uchar s[], unsigned int n)\r
-{\r
-       return CFunction_CompareStrings_n(console->textbox->text_buf, s, n);\r
-}\r
-\r
-uint Console_printf(UI_Console *console, const uchar format[], ...)\r
-{\r
-       CFunction_vsnprintf(console->printf_buffer, CONSOLE_PRINTF_BUFFER_SIZE, format, (uint *)(&format + 1));\r
-       TextBox_Put_String(console->textbox, console->printf_buffer);\r
-       return 0;\r
-}\r
-\r
-uint Console_Command_dir(UI_Console *console)\r
-{\r
-       uint i, j;\r
-       IO_FloppyDisk_DirectoryEntry_UpdateTime rdetime;\r
-       IO_FloppyDisk_DirectoryEntry_UpdateDate rdedate;\r
-       IO_FloppyDisk_DirectoryEntry_Attribute rdeattr;\r
-\r
-       for(i = 0; i < FLOPPYDISK_RDE_ENTRIES; i++){\r
-               if(console->boot_fd->files[i].name[0] == 0x00){\r
-                       break;\r
-               }\r
-               rdeattr.attribute = console->boot_fd->files[i].attribute;\r
-               if(console->boot_fd->files[i].name[0] != 0xe5 && console->boot_fd->files[i].name[0] != 0x05 && !rdeattr.bit.volumelabel && !rdeattr.bit.directory){\r
-                       for(j = 0; j < 8; j++){\r
-                               TextBox_Put_Character(console->textbox, console->boot_fd->files[i].name[j]);\r
-                       }\r
-                       TextBox_Put_Character(console->textbox, '.');\r
-                       for(j = 0; j < 3; j++){\r
-                               TextBox_Put_Character(console->textbox, console->boot_fd->files[i].ext[j]);\r
-                       }\r
-                       Console_printf(console, " %6d", console->boot_fd->files[i].size);\r
-                       rdedate.updatedate = console->boot_fd->files[i].updatedate;\r
-                       Console_printf(console, " %04d/%02d/%02d", rdedate.bit.year + 1980, rdedate.bit.month, rdedate.bit.day);\r
-                       rdetime.updatetime = console->boot_fd->files[i].updatetime;\r
-                       Console_printf(console, " %02d:%02d:%02d\n", rdetime.bit.hour, rdetime.bit.minute, rdetime.bit.second << 1);\r
-               }\r
-       }\r
-\r
-       return 0;\r
-}\r
-\r
-uint Console_Command_pci(UI_Console *console)\r
-{\r
-       uchar *p;\r
-       uint bus, device, function;\r
-       uint data;\r
-\r
-       TextBox_Put_String(console->textbox, "-<pci information>-\n");\r
-       if(CFunction_String_GetWord(console->textbox->text_buf, &p, 1)){\r
-               if(CFunction_String_GetWord(console->textbox->text_buf, &p, 3)){\r
-                       function = strtol(p, Null, 0);\r
-                       CFunction_String_GetWord(console->textbox->text_buf, &p, 2);\r
-                       device = strtol(p, Null, 0);\r
-                       CFunction_String_GetWord(console->textbox->text_buf, &p, 1);\r
-                       bus = strtol(p, Null, 0);\r
-                       Console_printf(console, "Bus%3d.Device%2d.Function%2d:\n", bus, device, function);\r
-                       if(bus < 256 && device < 32 && function < 8){\r
-                               PCI_ConfigurationRegister_SelectDevice(bus, device, function);\r
-                               data = PCI_ConfigurationRegister_Read32(0x00);\r
-                               if(data == 0xffffffff){\r
-                                       TextBox_Put_String(console->textbox, "Device not exist.\n");\r
-                               } else{\r
-                                       Console_printf(console, "DeviceVendor:%s(0x%04X)\n", PCI_GetDeviceVendor(data & 0xffff), data & 0xffff);\r
-                                       Console_printf(console, "DeviceID    :0x%04X\n", data >> 16);\r
-\r
-                                       data = PCI_ConfigurationRegister_Read32(0x08);\r
-                                       data = CFunction_ExtractBits(data, 8, 31);\r
-                                       Console_printf(console, "ClassCode   :%s(0x%06X)\n", PCI_GetDeviceClass(data), data);\r
-\r
-                                       data = PCI_ConfigurationRegister_Read32(0x0c);\r
-                                       data = CFunction_ExtractBits(data, 16, 22);\r
-                                       Console_printf(console, "DeviceType  :%s(%d)\n", PCI_GetDeviceType(data), data);\r
-                               }\r
-                       } else{\r
-                               TextBox_Put_String(console->textbox, "Invalid Device.\n");\r
-                       }\r
-               }\r
-       } else{\r
-               TextBox_Put_String(console->textbox, "Usage:");\r
-               TextBox_Put_String(console->textbox, "pci <bus> <device> <function>\n\nDevices which exist:\n");\r
-               for(bus = 0; bus < 256; bus++){\r
-                       for(device = 0; device < 32; device++){\r
-                               for(function = 0; function < 8; function++){\r
-                                       PCI_ConfigurationRegister_SelectDevice(bus, device, function);\r
-                                       data = PCI_ConfigurationRegister_Read32(0x00);\r
-                                       if(data != 0xffffffff){\r
-                                               Console_printf(console, "%3d.%2d.%2d, ", bus, device, function);\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       return 0;\r
-}\r
-\r
-uint Console_Command_type(UI_Console *console)\r
-{\r
-       uchar *p;\r
-       IO_File *file;\r
-       uint i;\r
-\r
-       TextBox_Put_String(console->textbox, "-<type>-");\r
-       if(CFunction_String_GetWord(console->textbox->text_buf, &p, 1)){\r
-                       if(FloppyDisk_IsPathExist(console->boot_fd, p)){\r
-                               TextBox_Put_String(console->textbox, ":");\r
-                               TextBox_Put_String(console->textbox, p);\r
-                               TextBox_Put_String(console->textbox, "\n");\r
-                               file = File_Initilaize();\r
-                               if(FloppyDisk_LoadFile(console->boot_fd, file, p) == 0){\r
-                                       for(i = 0; i < file->size; i++){\r
-                                               TextBox_Put_Character(console->textbox, ((uchar *)file->img)[i]);\r
-                                       }\r
-                               } else{\r
-                                       TextBox_Put_String(console->textbox, "type:File load Error.\n");\r
-                               }\r
-                               File_Free(file);\r
-                       } else{\r
-                               TextBox_Put_String(console->textbox, "\ntype:The path is not exist.\n");\r
-                       }\r
-       } else{\r
-               TextBox_Put_String(console->textbox, "\nUsage:");\r
-               TextBox_Put_String(console->textbox, "type filepath\n");\r
-       }\r
-       return 0;\r
-}\r
-\r
-uint Console_Command_task(UI_Console *console)\r
-{\r
-       uint i;\r
-       uchar *p;\r
-       UI_TaskControl *taskctrl;\r
-       UI_Task *search;\r
-\r
-       taskctrl = System_MultiTask_GetController();\r
-\r
-       TextBox_Put_String(console->textbox, "-<task>-\n");\r
-       if(CFunction_String_GetWord(console->textbox->text_buf, &p, 1)){\r
-/*\r
-                       if(FloppyDisk_IsPathExist(console->boot_fd, p)){\r
-                               TextBox_Put_String(console->textbox, ":");\r
-                               TextBox_Put_String(console->textbox, p);\r
-                               TextBox_Put_String(console->textbox, "\n");\r
-                               file = File_Initilaize();\r
-                               if(FloppyDisk_LoadFile(console->boot_fd, file, p) == 0){\r
-                                       for(i = 0; i < file->size; i++){\r
-                                               TextBox_Put_Character(console->textbox, ((uchar *)file->img)[i]);\r
-                                       }\r
-                               } else{\r
-                                       TextBox_Put_String(console->textbox, "type:File load Error.\n");\r
-                               }\r
-                               File_Free(file);\r
-                       } else{\r
-                               TextBox_Put_String(console->textbox, "\ntype:The path is not exist.\n");\r
-                       }\r
-*/\r
-       } else{\r
-               TextBox_Put_String(console->textbox, "Task list:\n");\r
-               for(search = taskctrl->start; search != Null; search = search->next){\r
-                       Console_printf(console, "sel:%02X count:%d\n", search->selector, search->count);\r
-               }\r
-       }\r
-\r
-       return 0;\r
-}\r