PS/2-Maus Tutorial — Änderungen 9393 → 9411

Zeile 33: Zeile 33:
  
 
<c>
 
<c>
−
VOID kbc_write_inbuf(BYTE data)
+
void kbc_write_inbuf(uint8_t data)
 
{
 
{
−
   DWORD to = 255;
+
   uint32_t to = 255;
 
   while ( inb(0x64) & 0x02)
 
   while ( inb(0x64) & 0x02)
 
   {
 
   {
Zeile 51: Zeile 51:
  
 
<c>
 
<c>
−
BYTE kbc_read_outbuf()
+
uint8_t kbc_read_outbuf()
 
{
 
{
−
   DWORD to = 255;
+
   uint32t to = 255;
 
   while ( ! (inb(0x64) & 0x01) )
 
   while ( ! (inb(0x64) & 0x01) )
 
   {
 
   {
Zeile 70: Zeile 70:
  
 
<c>
 
<c>
−
VOID kbc_send_cmd (BYTE cmd)
+
void kbc_send_cmd (uint8_t cmd)
 
{
 
{
−
   DWORD to = 255;
+
   uint32_t to = 255;
−
   BYTE kbc_status = inb(KBC_STATUS);
+
   uint8_t kbc_status = inb(KBC_STATUS);
 
   while ( inb(0x64) & 0x02)
 
   while ( inb(0x64) & 0x02)
 
   {
 
   {
Zeile 116: Zeile 116:
  
 
<c>
 
<c>
−
VOID mouse_send_cmd(BYTE cmd)
+
void mouse_send_cmd(uint8_t cmd)
 
{
 
{
 
   kbc_send_cmd(KBC_CMD_MOUSE);
 
   kbc_send_cmd(KBC_CMD_MOUSE);
Zeile 139: Zeile 139:
  
 
<c>
 
<c>
−
BYTE mouse_read_data()
+
uint8_t mouse_read_data()
 
{
 
{
 
   return kbc_read_outbuf();
 
   return kbc_read_outbuf();
Zeile 151: Zeile 151:
 
#define ACK 0xFA
 
#define ACK 0xFA
  
−
VOID mouse_install()
+
void mouse_install()
 
{
 
{
−
   BYTE command_byte;
+
   uint8_t command_byte;
  
−
      //leere den Daten Puffer
+
  //leere den Daten Puffer
 
   while ( inb(0x64) & 0x01)
 
   while ( inb(0x64) & 0x01)
 
   {
 
   {
Zeile 161: Zeile 161:
 
   }
 
   }
  
−
      //aktiviere die Maus beim Keyboard Controller
+
  //aktiviere die Maus beim Keyboard Controller
 
   kbc_send_cmd(0xA8);
 
   kbc_send_cmd(0xA8);
  
−
      //Bit 1 im Command Byte setzen
+
  //Bit 1 im Command Byte setzen
 
   kbc_send_cmd(0x20);
 
   kbc_send_cmd(0x20);
 
   cb = kbc_read_outbuf();
 
   cb = kbc_read_outbuf();
Zeile 171: Zeile 171:
 
   kbc_write_inbuf(cb);
 
   kbc_write_inbuf(cb);
  
−
      //Standards setzen
+
  //Standards setzen
 
   mouse_send_cmd(0xF6)
 
   mouse_send_cmd(0xF6)
−
   if ( mouse_read_data() != ACK)
+
   if( mouse_read_data() != ACK)
 
   {
 
   {
 
     kprintf(“mouse error!”);
 
     kprintf(“mouse error!”);
Zeile 179: Zeile 179:
 
   }
 
   }
  
−
      //das Senden von Daten aktivieren
+
  //das Senden von Daten aktivieren
 
   mous_send_cmd(0xF4);
 
   mous_send_cmd(0xF4);
−
   if ( mouse_read_data() != ACK)
+
   if( mouse_read_data() != ACK)
 
   {
 
   {
 
     kprintf(“mouse error!”);
 
     kprintf(“mouse error!”);
Zeile 217: Zeile 217:
  
 
<c>
 
<c>
−
BYTE cycle=1;
+
uint8_t cycle=1;
−
BYTE flags;
+
uint8_t flags;
 
int x_mov, y_mov;
 
int x_mov, y_mov;
  
−
VOID irq_12_handler()
+
void irq_12_handler()
 
{
 
{
−
   DWORD val;
+
   uint32_t val;
 
   switch (cycle)
 
   switch (cycle)
 
   {
 
   {
Zeile 239: Zeile 239:
 
     case 2:
 
     case 2:
 
       val = mouse_read_data();
 
       val = mouse_read_data();
−
       val &= (DWORD) 0xFF; //es dürfen wirklich nur die ersten 8 Bits belegt sein!
+
       val &= (uint32_t )0xFF; //es dürfen wirklich nur die ersten 8 Bits belegt sein!
 
       if (flags & 0x10)
 
       if (flags & 0x10)
 
         x_mov = (val | 0xFFFFFF00);
 
         x_mov = (val | 0xFFFFFF00);
Zeile 248: Zeile 248:
 
     case 3:
 
     case 3:
 
       val = inb(0x60);
 
       val = inb(0x60);
−
       val &= (DWORD) 0xFF;
+
       val &= (uint32_t )0xFF;
 
       if (flags & 0x20)
 
       if (flags & 0x20)
 
         y_mov = - (val | 0xFFFFFF00);
 
         y_mov = - (val | 0xFFFFFF00);