home *** CD-ROM | disk | FTP | other *** search
- #include <string.h>
- #include <stdio.h>
- #include <ext.h>
- #include <tos.h>
-
- #include "jclkcook.h"
-
- int get_cookie (long cookie, long *value)
- {
- long *cookiejar = (long *)Setexc(0x168,-1);
-
- if (cookiejar)
- {
- while (*cookiejar)
- {
- if (*cookiejar==cookie)
- {
- if (value)
- *value = *++cookiejar;
- return 1;
- }
- cookiejar += 2;
- }
- }
- return 0;
- }
-
- char *hotkeystring(int x)
- {
- static char string[80];
- *string = 0;
-
- if (x & 2)
- strcat(string, "LeftShift+");
- if (x & 1)
- strcat(string, "RightShift+");
- if (x & 4)
- strcat(string, "Control+");
- if (x & 8)
- strcat(string, "Alternate+");
-
- if (*string)
- string[strlen(string)-1] = 0;
- return string;
- }
-
- void vypis(long adr)
- {
- JCLKSTRUCT *jclk = (JCLKSTRUCT *)adr;
-
- if (jclk->name != CLOCKY_IDENT) {
- printf("This is not my Clocky!\n");
- getchar();
- return;
- }
-
- if (jclk->version < CLOCKY_VERSION) {
- printf("Too old Clocky - get newer\n");
- getchar();
- return;
- }
-
- #define BOO(x) (jclk->parametry.x) ? "[Yes]" : "[No] "
-
- while((Kbshift(-1)&15) != 14)
- {
- printf("\33H");
- printf("Hotkey combination: %s\n", hotkeystring(jclk->hotshift));
- printf("Seekey combination: %s\n", hotkeystring(jclk->hottime));
- printf("Show time: %s\t", BOO(ShowTime));
- printf("Look at time with Seekeys: %s\n", BOO(ShowKuk));
- #if 0
- printf("Zobrazovat datum vlevo od çasu: %s\n", BOO(Showdate));
- printf("Zobrazovat den v tÿdnu a symboly: %s\n", BOO(Showday));
- printf("Zobrazovat roky a sekundy: %s\n", BOO(Showyear));
- #endif
- printf("Show CapsLock sign: %s\n", BOO(ShowCaps));
- printf("Offer external hotkeys: %s\n", BOO(KbdEHC));
- printf("Dead keys: %s\t", BOO(Kbddead));
- printf("ASCII code via numeric keypad: %s\n", BOO(Kbdasci));
- printf("Turn off keyboard click sound: %s\t", BOO(Kbdcink));
- printf("Turn off system bell sound: %s\n", BOO(Kbdbell));
- printf("Keyboard layout: ");
- switch(jclk->parametry.Kbdlayo) {
- case 0: printf("do not change\n"); break;
- case 1: printf("the ROM one\n"); break;
- case 2: printf("the first predefined\n"); break;
- case 3: printf("the second predefined\n"); break;
- }
- printf("\n");
- printf("Mouse accelerator active: %s\t", BOO(Miscmys));
- if (jclk->parametry.Miscmys)
- printf("Accelerate: %s\n", jclk->parametry.Misc4x ? "four times" : "twice");
- printf("Special Latin2 conversion on printer output: %s\n", BOO(Miscprnt));
- printf("MegaSTE Turbo 16 MHz + cache: %s\t", BOO(Miscturb));
- printf("Colour inversion on boot: %s\n", BOO(Miscinv));
- #if 0
- printf("Zvukové znamení kaædou hodinu: %s\n", BOO(Misctut));
- #endif
- printf("\n");
- printf("Screen saver is active (countdown runs): %s\n", BOO(Saveron));
- #if 0
- printf("SS hlídá Modem1 CD: %s\n", BOO(SaveMod1));
- printf("SS hlídá Modem2 CD: %s\n", BOO(SaveMod2));
- printf("SS akce - zhasnout barvy/st⌐ídat inverzi: %s\n", BOO(Saveact1));
- printf("SS tvrd¿í akce - externí takt pro Shifter/vypnout VGA: %s\n", BOO(Saveact2));
- #endif
- printf("Remaining time to screen saver action: %d\n", jclk->saverlen - jclk->savecount);
- printf("\nAlt+Control+key: actual_key = %02x (for JCLKTOOL.SET)\n", jclk->actual_key);
-
- printf("\nPress Left Shift+Control+Alt to quit...");
- }
- }
-
- main(void)
- {
- long adr;
-
- if (get_cookie('JCLK', &adr)) {
- vypis(adr);
- }
- else {
- printf("JoyCookie not found\n");
- getchar();
- return -1;
- }
- return 0;
- }
-