/**************************************************************************************
$Id: pit.c,v 1.10 2002/04/20 02:59:46 reddawg Exp $
**************************************************************************************/
#include <ubixos/io.h>
#include <ubixos/pit.h>
void init_pit(float h, unsigned char channel) {
unsigned int temp=0;
temp = 1193180/h;
outportb(TMR_CTRL, (channel*0x40) + TMR_BOTH + TMR_MD3);
outportb((0x40+channel), (unsigned char) temp);
outportb((0x40+channel), (unsigned char) (temp>>8));
}
unsigned int pit_getchannel(unsigned char channel) {
unsigned int x=0;
outportb(TMR_CTRL, (channel*0x40) + TMR_LATCH);
x = inportb(0x40+channel);
x += (inportb(0x40+channel) << 8);
return x;
}