3#include "../drivers/ports_io.h"
5#include "interruption_tables.h"
6#include "interruptions.h"
10static u_dword tick = 0;
12static void timer_callback(
registers* regs) {
17void init_timer(u_dword frequency) {
19 set_interrupt_handler(IRQ0, &timer_callback);
24 u_dword divisor = 1193180 / frequency;
27 port_byte_out(0x43, 0x36);
30 u_byte l = (u_byte)(divisor & 0xFF);
31 u_byte h = (u_byte)( (divisor>>8) & 0xFF );
34 port_byte_out(0x40, l);
35 port_byte_out(0x40, h);