--- trunk/src/devices/dev_8253.c 2007/10/08 16:21:17 34 +++ trunk/src/devices/dev_8253.c 2007/10/08 16:22:32 42 @@ -25,9 +25,9 @@ * SUCH DAMAGE. * * - * $Id: dev_8253.c,v 1.18 2006/12/30 13:30:57 debug Exp $ + * $Id: dev_8253.c,v 1.20 2007/06/15 18:13:04 debug Exp $ * - * Intel 8253/8254 Programmable Interval Timer + * COMMENT: Intel 8253/8254 Programmable Interval Timer * * TODO/NOTE: * The timers don't really count down. Timer 0 causes clock interrupts @@ -53,7 +53,7 @@ #include "i8253reg.h" -#define debug fatal +/* #define debug fatal */ #define DEV_8253_LENGTH 4 #define TICK_SHIFT 14 @@ -78,18 +78,16 @@ static void timer0_tick(struct timer *t, void *extra) { - struct pit8253_data *d = (struct pit8253_data *) extra; + struct pit8253_data *d = extra; d->pending_interrupts_timer0 ++; -#if 0 - printf("%i ", d->pending_interrupts_timer0); fflush(stdout); -#endif + /* printf("%i ", d->pending_interrupts_timer0); fflush(stdout); */ } DEVICE_TICK(8253) { - struct pit8253_data *d = (struct pit8253_data *) extra; + struct pit8253_data *d = extra; if (!d->in_use) return; @@ -241,12 +239,9 @@ DEVINIT(8253) { - struct pit8253_data *d = malloc(sizeof(struct pit8253_data)); + struct pit8253_data *d; - if (d == NULL) { - fprintf(stderr, "out of memory\n"); - exit(1); - } + CHECK_ALLOCATION(d = malloc(sizeof(struct pit8253_data))); memset(d, 0, sizeof(struct pit8253_data)); d->in_use = devinit->in_use; @@ -266,7 +261,7 @@ DM_DEFAULT, NULL); machine_add_tickfunction(devinit->machine, dev_8253_tick, - d, TICK_SHIFT, 0.0); + d, TICK_SHIFT); return 1; }