Lines Matching refs:regs
146 void BIOSCALL int15_function_mouse(pusha_regs_t regs, uint16_t ES, uint16_t DS, volatile uint16_t FLAGS)
155 BX_DEBUG_INT15_MS("int15 AX=%04x\n",regs.u.r16.ax);
168 if (regs.u.r8.al > 7) {
172 regs.u.r8.ah = 1;
179 regs.u.r8.ah = 0;
181 switch (regs.u.r8.al) {
184 if (regs.u.r8.bh > 1) {
185 BX_DEBUG_INT15_MS("INT 15h C2 AL=0, BH=%02x\n", (unsigned) regs.u.r8.bh);
188 regs.u.r8.ah = 1;
195 regs.u.r8.ah = 5; // no far call installed
198 if (regs.u.r8.bh == 0) {
217 regs.u.r8.ah = 3;
222 if ( (regs.u.r8.bh < 1) || (regs.u.r8.bh > 8) ) {
224 regs.u.r8.ah = 2; // invalid input
228 mouse_flags_2 = (mouse_flags_2 & 0xf8) | (regs.u.r8.bh - 1);
244 regs.u.r8.ah = 4; // resend
255 regs.u.r8.bl = mouse_data1;
256 regs.u.r8.bh = mouse_data2;
265 regs.u.r8.ah = 3;
270 switch (regs.u.r8.bh) {
290 regs.u.r8.ah = 3;
295 regs.u.r8.ah = 2;
306 if (regs.u.r8.bh < 4) {
312 ret = send_to_mouse_ctrl(regs.u.r8.bh);
320 regs.u.r8.ah = 3;
325 regs.u.r8.ah = 2;
335 regs.u.r8.bh = mouse_data2;
340 regs.u.r8.ah = 3;
346 switch (regs.u.r8.bh) {
360 regs.u.r8.bl = mouse_data1;
361 regs.u.r8.cl = mouse_data2;
362 regs.u.r8.dl = mouse_data3;
373 regs.u.r8.ah = 3;
378 if (regs.u.r8.bh == 1) {
390 regs.u.r8.ah = 3;
395 BX_PANIC("INT 15h C2 AL=6, BH=%02x\n", (unsigned) regs.u.r8.bh);
398 regs.u.r8.ah = 1;
405 mouse_driver_offset = regs.u.r16.bx;
426 regs.u.r8.ah = 1;
428 BX_DEBUG_INT15_MS("returning cf = %u, ah = %02x\n", (unsigned)GET_CF(), (unsigned)regs.u.r8.ah);