OSDN Git Service

SimpleHTMLEditorを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_009 / chnos / mouse.c
diff --git a/CHNOSProject/chnos/tolset_chn_000/chnos_009/chnos/mouse.c b/CHNOSProject/chnos/tolset_chn_000/chnos_009/chnos/mouse.c
deleted file mode 100644 (file)
index 894ab55..0000000
+++ /dev/null
@@ -1,294 +0,0 @@
-\r
-#include "core.h"\r
-\r
-uint offset_data_m;\r
-DATA_FIFO *sendto_m;\r
-UI_MouseInfo *decode_m;\r
-\r
-uchar mcursor_pattern0[24][24] = {\r
-       ".**.....................",\r
-       "*O**....................",\r
-       "*OO**...................",\r
-       "*OOO**..................",\r
-       "*OOOO**.................",\r
-       "*OOOOO**................",\r
-       "*OOOOOO**...............",\r
-       "*OOOOOOO**..............",\r
-       "*OOOOOOOO**.............",\r
-       "*OOOOOOOOO**............",\r
-       "*OOOOOOOOOO**...........",\r
-       "*OOOOOOOOOOO**..........",\r
-       "*OOOOOOOOOOOO**.........",\r
-       "*OOOOOOOOOOOOO**........",\r
-       "*OOOOOOOOOOOOOO**.......",\r
-       "*OOOOOOOOOOOOOOO**......",\r
-       "*OOOOOOOOOOOOOOOO**.....",\r
-       "*OOOOOO*************....",\r
-       "*OOOOO**................",\r
-       "*OOOO**.................",\r
-       "*OOO**..................",\r
-       "*OO**...................",\r
-       "*O**....................",\r
-       "***.....................",\r
-};\r
-\r
-void Initialise_Mouse(DATA_FIFO *sendto, uint offset, UI_MouseInfo *decode)\r
-{\r
-       sendto_m = sendto;\r
-       offset_data_m = offset;\r
-       decode_m = decode;\r
-Emergency_Out("Mouse Initialise Start");\r
-       decode->phase = 0;\r
-       Mouse_Send_Command(MOUSECMD_RESET);\r
-Emergency_Out("Mouse Send Command");\r
-       System_GateDescriptor_Set(0x2c, (uint)asm_InterruptHandler2c, 0x02, AR_INTGATE32);\r
-       IO_Out8(PIC1_IMR, IO_In8(PIC1_IMR) & 0xef);\r
-Emergency_Out("Mouse Set INT");\r
-\r
-       return;\r
-}\r
-\r
-void InterruptHandler2c(int *esp)\r
-{\r
-       int data;\r
-\r
-       data = IO_In8(KEYB_DATA);\r
-       IO_Out8(PIC1_OCW2, 0x64);\r
-       IO_Out8(PIC0_OCW2, 0x62);\r
-       FIFO32_Put(sendto_m, data + offset_data_m);\r
-       return;\r
-}\r
-\r
-int Mouse_Decode(uint data)\r
-{\r
-       switch (decode_m->phase){\r
-               case 0:\r
-                       if(data == 0xfa){\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 1:\r
-                       if(data == 0xaa){\r
-                               Mouse_Send_Command(MOUSECMD_SET_SAMPLE_RATE);\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 2:\r
-                       if(data == 0xfa){\r
-                               Mouse_Send_Command(200);\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 3:\r
-                       if(data == 0xfa){\r
-                               Mouse_Send_Command(MOUSECMD_SET_SAMPLE_RATE);\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 4:\r
-                       if(data == 0xfa){\r
-                               Mouse_Send_Command(100);\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 5:\r
-                       if(data == 0xfa){\r
-                               Mouse_Send_Command(MOUSECMD_SET_SAMPLE_RATE);\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 6:\r
-                       if(data == 0xfa){\r
-                               Mouse_Send_Command(80);\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 7:\r
-                       if(data == 0xfa){\r
-                               Mouse_Send_Command(MOUSECMD_GET_DEVICE_ID);\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 8:\r
-                       if(data == 0xfa){\r
-                               break;\r
-                       }\r
-                       if(data == 0x00){\r
-                               decode_m->type = threebtn;\r
-                               Mouse_Send_Command(MOUSECMD_ENABLE_DATA_REPORTING);\r
-                               decode_m->phase = 10;\r
-                       } else if(data == 0x03){\r
-                               decode_m->type = threebtn_scroll;\r
-                               Mouse_Send_Command(MOUSECMD_ENABLE_DATA_REPORTING);\r
-                               decode_m->phase = 20;\r
-                       } else{\r
-                               Mouse_Send_Command(MOUSECMD_RESET);\r
-                               decode_m->phase = 0;\r
-                       }\r
-                       break;\r
-\r
-               case 10:\r
-                       if(data == 0xfa){\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 11:\r
-                       if((data & 0xc8) == 0x08) {\r
-                               decode_m->buf[0] = data;\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 12:\r
-                       decode_m->buf[1] = data;\r
-                       decode_m->phase++;\r
-                       break;\r
-               case 13:\r
-                       decode_m->buf[2] = data;\r
-                       decode_m->phase -= 2;\r
-                       decode_m->btn = decode_m->buf[0];\r
-                       decode_m->move.x = decode_m->buf[1];\r
-                       decode_m->move.y = decode_m->buf[2];\r
-                       if(decode_m->buf[0] & 0x10){\r
-                               decode_m->move.x |= 0xffffff00;\r
-                       }\r
-                       if(decode_m->buf[0] & 0x20){\r
-                               decode_m->move.y |= 0xffffff00;\r
-                       }\r
-                       decode_m->move.y = - decode_m->move.y;\r
-                       return 1;\r
-\r
-               case 20:\r
-                       if(data == 0xfa){\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 21:\r
-                       if((data & 0xc8) == 0x08) {\r
-                               decode_m->buf[0] = data;\r
-                               decode_m->phase++;\r
-                       }\r
-                       break;\r
-               case 22:\r
-                       decode_m->buf[1] = data;\r
-                       decode_m->phase++;\r
-                       break;\r
-               case 23:\r
-                       decode_m->buf[2] = data;\r
-                       decode_m->btn = decode_m->buf[0];\r
-                       decode_m->move.x = decode_m->buf[1];\r
-                       decode_m->move.y = decode_m->buf[2];\r
-                       if(decode_m->buf[0] & 0x10){\r
-                               decode_m->move.x |= 0xffffff00;\r
-                       }\r
-                       if(decode_m->buf[0] & 0x20){\r
-                               decode_m->move.y |= 0xffffff00;\r
-                       }\r
-                       decode_m->move.y = - decode_m->move.y;\r
-                       decode_m->phase++;\r
-                       break;\r
-               case 24:\r
-                       decode_m->phase -= 3;\r
-                       decode_m->buf[3] = data;\r
-                       decode_m->scroll = decode_m->buf[3] & 0x0f;\r
-                       if(decode_m->scroll & 0x08) {\r
-                               decode_m->scroll |= 0xfffffff0;\r
-                       }\r
-                       return 1;\r
-       }\r
-       return 0;\r
-}\r
-\r
-void Mouse_Send_Command(uint data)\r
-{\r
-       Keyboard_Controller_Wait_SendReady();\r
-       IO_Out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);\r
-       Keyboard_Controller_Wait_SendReady();\r
-       IO_Out8(KEYB_DATA, data);\r
-       return;\r
-}\r
-\r
-void Mouse_Make_MouseCursor(UI_MouseCursor *cursor, int rangex0, int rangey0, int rangex1, int rangey1, uint height)\r
-{\r
-       cursor->move_range0.x = rangex0;\r
-       cursor->move_range0.y = rangey0;\r
-       cursor->move_range1.x = rangex1;\r
-       cursor->move_range1.y = rangey1;\r
-       cursor->position.x = rangex0;\r
-       cursor->position.y = rangey0;\r
-       cursor->sheet = System_Sheet_Get(24, 24, 0, 0x000000FF);\r
-       Mouse_Draw_MouseCursor(cursor, normal);\r
-       Sheet_Show(cursor->sheet, cursor->position.x, cursor->position.y, height);\r
-       return;\r
-}\r
-\r
-void Mouse_Draw_MouseCursor(UI_MouseCursor *cursor, mcursor_state state)\r
-{\r
-       uint x, y;\r
-       uchar *pattern;\r
-\r
-       pattern = &mcursor_pattern0[0][0];\r
-\r
-       if(state == normal){\r
-               cursor->state = normal;\r
-       } else if(state == wait){\r
-               cursor->state = wait;\r
-       }\r
-\r
-       for (y = 0; y < 24; y++) {\r
-               for (x = 0; x < 24; x++) {\r
-                       if (pattern[y * 24 + x] == '*') {\r
-                               Sheet_Draw_Point(cursor->sheet, 0x000000, x, y);\r
-                       }\r
-                       if (pattern[y * 24 + x] == 'O') {\r
-                               Sheet_Draw_Point(cursor->sheet, 0xFFFFFF, x, y);\r
-                       }\r
-                       if (pattern[y * 24 + x] == '.') {\r
-                               Sheet_Draw_Point(cursor->sheet, 0x0000FF, x, y);\r
-                       }\r
-               }\r
-       }\r
-\r
-       return;\r
-}\r
-\r
-void Mouse_Move_Relative(UI_MouseCursor *cursor, int movex, int movey)\r
-{\r
-       cursor->position.x += movex;\r
-       cursor->position.y += movey;\r
-\r
-       if(cursor->position.x < cursor->move_range0.x){\r
-               cursor->position.x = cursor->move_range0.x;\r
-       } else if(cursor->position.x > cursor->move_range1.x){\r
-               cursor->position.x = cursor->move_range1.x;\r
-       }\r
-       if(cursor->position.y < cursor->move_range0.y){\r
-               cursor->position.y = cursor->move_range0.y;\r
-       } else if(cursor->position.y > cursor->move_range1.y){\r
-               cursor->position.y = cursor->move_range1.y;\r
-       }\r
-\r
-       Sheet_Slide(cursor->sheet, cursor->position.x, cursor->position.y);\r
-\r
-       return;\r
-}\r
-\r
-void Mouse_Move_Absolute(UI_MouseCursor *cursor, int px, int py)\r
-{\r
-       cursor->position.x = px;\r
-       cursor->position.y = py;\r
-\r
-       if(cursor->position.x < cursor->move_range0.x){\r
-               cursor->position.x = cursor->move_range0.x;\r
-       } else if(cursor->position.x > cursor->move_range1.x){\r
-               cursor->position.x = cursor->move_range1.x;\r
-       }\r
-       if(cursor->position.y < cursor->move_range0.y){\r
-               cursor->position.y = cursor->move_range0.y;\r
-       } else if(cursor->position.y > cursor->move_range1.y){\r
-               cursor->position.y = cursor->move_range1.y;\r
-       }\r
-\r
-       Sheet_Slide(cursor->sheet, cursor->position.x, cursor->position.y);\r
-\r
-       return;\r
-}\r