4 * [Generated from hour, 25 September 1996]
7 #if !defined(__CC_NORCROFT) || !defined(__arm)
8 #error You must use the Norcroft ARM Compiler for Sapphire programs
11 #pragma include_only_once
12 #pragma force_top_level
21 /*----- Overview ----------------------------------------------------------*
36 /* --- hour_init --- *
42 * Use: Initialises the hour system, so it will display an hourglass
45 * Since this gets called at a random point during the Sapphire
46 * initialisation, and we can rely on Hourglass keeping its
47 * own count, the suggested way of handling everything properly
55 extern routine hour_init;
63 * Use: Turns the Hourglass on only if it isn't on already.
64 * Otherwise its status is left as it was.
67 extern routine hour_on;
75 * Use: Turns the Hourglass off if it's only been turned on once.
76 * If the Hourglass gets turned off, all the information about
77 * it (percentage and LEDs) get forgotten.
80 extern routine hour_off;
82 /* --- hour_percent --- *
84 * On entry: R0 == percentage value to display, or -1 to remove
88 * Use: Attaches a percentage display to the Hourglass.
91 extern routine hour_percent;
93 /* --- hour_leds --- *
95 * On entry: R0 == LED mask EOR value
96 * R1 == LED mask AND value
100 * Use: Changes the Hourglass LED status.
103 extern routine hour_leds;
105 /* --- hour_suspend --- *
107 * On entry: R0 == pointer to 2 word block to save status in
111 * Use: Saves the Hourglass state in a block you've pointed at,
112 * and disables the Hourglass. Useful if you want to do some
113 * user interaction without polling (e.g. an error box).
116 extern routine hour_suspend;
118 /* --- hour_save --- *
120 * On entry: R0 == pointer to 2 word block to save status in
124 * Use: Saves the current Hourglass status without altering it.
127 extern routine hour_save;
129 /* --- hour_resume, hour_restore --- *
131 * On entry: R0 == pointer to 2 words filled by hour_suspend or hour_save
135 * Use: Restores the Hourglass state to that saved away by one
136 * of the previous two calls. This routine has two names.
139 extern routine hour_resume;
141 /* --- hour_resume, hour_restore --- *
143 * On entry: R0 == pointer to 2 words filled by hour_suspend or hour_save
147 * Use: Restores the Hourglass state to that saved away by one
148 * of the previous two calls. This routine has two names.
151 extern routine hour_resume;
152 extern routine hour_restore;
154 /*----- That's all, folks -------------------------------------------------*/