• R/O
  • SSH
  • HTTPS

chnosproject: Commit


Commit MetaInfo

Revisión66 (tree)
Tiempo2010-03-11 23:44:13
Autorhikarupsp

Log Message

mouseid取得可能

Cambiar Resumen

Diferencia incremental

--- beta/tolset_chn_000/chnos_006/bootpack.c (revision 65)
+++ beta/tolset_chn_000/chnos_006/bootpack.c (revision 66)
@@ -2,7 +2,7 @@
22
33 void CHNMain(void)
44 {
5- unsigned char s[24] , mdatabuf[3], m_phase = 0;
5+ unsigned char s[24] , mdatabuf[3], m_phase = 0,m_init = 0, m_id = 0;
66 struct BOOTINFO *binfo = (struct BOOTINFO *) ADR_BOOTINFO;
77 struct VESAINFO *vinfo = (struct VESAINFO *) ADR_VESAINFO;
88 struct FIFO32 sysfifo;
@@ -39,7 +39,71 @@
3939 io_sti();
4040 switch (m_phase) {
4141 case 0:
42- if(i == 0xfa) { m_phase = 1; }
42+ if(i == 0xfa) {
43+ switch (m_init) {
44+ case 0:
45+ wait_KBC_sendready();
46+ io_out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);
47+ wait_KBC_sendready();
48+ io_out8(KEYB_DATA, 0xf3);
49+ m_init = 1;
50+ break;
51+ case 1:
52+ wait_KBC_sendready();
53+ io_out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);
54+ wait_KBC_sendready();
55+ io_out8(KEYB_DATA, 200);
56+ m_init = 2;
57+ break;
58+ case 2:
59+ wait_KBC_sendready();
60+ io_out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);
61+ wait_KBC_sendready();
62+ io_out8(KEYB_DATA, 0xf3);
63+ m_init = 3;
64+ break;
65+ case 3:
66+ wait_KBC_sendready();
67+ io_out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);
68+ wait_KBC_sendready();
69+ io_out8(KEYB_DATA, 100);
70+ m_init = 4;
71+ break;
72+ case 4:
73+ wait_KBC_sendready();
74+ io_out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);
75+ wait_KBC_sendready();
76+ io_out8(KEYB_DATA, 0xf3);
77+ m_init = 5;
78+ break;
79+ case 5:
80+ wait_KBC_sendready();
81+ io_out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);
82+ wait_KBC_sendready();
83+ io_out8(KEYB_DATA, 0x80);
84+ m_init = 6;
85+ break;
86+ case 6:
87+ wait_KBC_sendready();
88+ io_out8(PORT_KEYCMD, KEYCMD_SENDTO_MOUSE);
89+ wait_KBC_sendready();
90+ io_out8(KEYB_DATA, 0xf2);
91+ m_init = 7;
92+ break;
93+ case 7:
94+ wait_KBC_sendready();
95+ m_init = 8;
96+ break;
97+ case 8:
98+ wait_KBC_sendready();
99+ m_id = io_in8(KEYB_DATA);
100+ m_phase = 1;
101+ boxfill_i(vinfo->PhysBasePtr, binfo->scrnx, 0x000000, 0,272,300 , 288);
102+ sprintf(s,"マウスID = %02X",m_id);
103+ putfonts_asc_i(vinfo->PhysBasePtr, binfo->scrnx, 0,272,0xffffff,s);
104+ break;
105+ }
106+ }
43107 break;
44108 case 1:
45109 mdatabuf[0] = i;
Show on old repository browser