X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ftimer.h;h=3da5802f8c98e18f746e4d6ad482e363a70ae118;hb=7b6f6de2124e28ae7da5599a7cdaf2c171c4f15e;hp=86de220bc8c37c7a6959002e471b95826b9bbee3;hpb=97356e29f73e12f0856fde92a48e86c73bef387c;p=bootcensus diff --git a/src/timer.h b/src/timer.h index 86de220..3da5802 100644 --- a/src/timer.h +++ b/src/timer.h @@ -1,6 +1,6 @@ /* -pcboot - bootable PC demo/game kernel -Copyright (C) 2018 John Tsiombikas +256boss - bootable launcher for 256byte intros +Copyright (C) 2018-2019 John Tsiombikas This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,11 +18,25 @@ along with this program. If not, see . #ifndef _TIMER_H_ #define _TIMER_H_ -unsigned long nticks; +#include "config.h" + +#define MSEC_TO_TICKS(ms) ((ms) * TICK_FREQ_HZ / 1000) +#define TICKS_TO_MSEC(tk) ((tk) * 1000 / TICK_FREQ_HZ) + +volatile unsigned long nticks; void init_timer(void); +/* int sys_sleep(int sec); void sleep(unsigned long msec); +*/ + +/* schedule a function to be called 'msec' milliseconds into the future + * warning: this function will be called directly from the timer interrupt, and + * must be extremely quick. + */ +void set_alarm(unsigned long msec, void (*func)(void)); +void cancel_alarm(void (*func)(void)); #endif /* _TIMER_H_ */