Ejemplo n.º 1
0
/* mick_exit:
 *  Shuts down the mickey-mode driver.
 */
static void mick_exit(void)
{
   __dpmi_regs r;

   r.x.ax = 0x0C;                /* install NULL callback */
   r.x.cx = 0;
   r.x.dx = 0;
   r.x.es = 0;
   __dpmi_int(0x33, &r);

   #ifdef ALLEGRO_DJGPP
      _go32_dpmi_free_real_mode_callback(&mouse_seginfo);
   #endif
}
Ejemplo n.º 2
0
/* int33_exit:
 *  Shuts down the int 0x33 driver.
 */ 
static void int33_exit(void)
{
   __dpmi_regs r;

   r.x.ax = 0x0C;                /* install NULL callback */
   r.x.cx = 0;
   r.x.dx = 0;
   r.x.es = 0;
   __dpmi_int(0x33, &r);

   r.x.ax = 15;                  /* reset sensitivity */
   r.x.cx = 8;
   r.x.dx = 16;
   __dpmi_int(0x33, &r);

   #ifdef ALLEGRO_DJGPP
      _go32_dpmi_free_real_mode_callback(&mouse_seginfo);
   #endif
}
Ejemplo n.º 3
0
void
want_ctrl_c(int yes)
{
    if (yes) {
	if (ctrl_c_hooked)
	    return;
	_go32_dpmi_get_real_mode_interrupt_vector(0x23, &old_vector);

	new_vector.pm_offset = (int) ctrl_c_isr;
	_go32_dpmi_allocate_real_mode_callback_iret(&new_vector, &regs);
	_go32_dpmi_set_real_mode_interrupt_vector(0x23, &new_vector);
	ctrl_c_count = 0;
	ctrl_c_hooked = 1;
    } else {
	if (!ctrl_c_hooked)
	    return;
	_go32_dpmi_set_real_mode_interrupt_vector(0x23, &old_vector);
	_go32_dpmi_free_real_mode_callback(&new_vector);
	ctrl_c_count = 0;
	ctrl_c_hooked = 0;
    }
}