Fixed and unified debug output.
[AROS.git] / test / frequencies.c
blobe04376a81d413054e06dcdcdac045bc1da95eaab
1 #include <devices/timer.h>
2 #include <exec/execbase.h>
3 #include <proto/exec.h>
4 #include <proto/timer.h>
6 #include <stdio.h>
8 int __nocommandline = 1;
10 int main(void)
12 struct MsgPort *mp;
13 struct timerequest *req;
15 printf("exec.library v%u.%u\n", SysBase->LibNode.lib_Version, SysBase->LibNode.lib_Revision);
16 printf("VBlank frequency: %u\n", SysBase->VBlankFrequency);
17 printf("PSU frequency: %u\n", SysBase->PowerSupplyFrequency);
18 printf("EClock frequency: %u\n\n", SysBase->ex_EClockFrequency);
20 mp = CreateMsgPort();
21 if (mp) {
22 req = (struct timerequest *)CreateIORequest(mp, sizeof(struct timerequest));
23 if (req) {
24 if (!OpenDevice("timer.device", UNIT_VBLANK, &req->tr_node, 0))
26 struct Device *TimerBase = req->tr_node.io_Device;
27 struct EClockVal clock;
29 printf("timer.device v%u.%u\n", TimerBase->dd_Library.lib_Version, TimerBase->dd_Library.lib_Revision);
30 printf("EClock frequency reported: %u\n", ReadEClock(&clock));
32 CloseDevice(&req->tr_node);
34 else
35 printf("Failed to open timer.device!\n");
37 DeleteIORequest(req);
38 } else
39 printf("Failed to create IORequest!\n");
41 DeleteMsgPort(mp);
42 } else
43 printf("Failed to create message port!\n");
45 return 0;