Lines Matching +full:0 +full:- +full:mon
6 * Assembled of parts of former atari/config.c 97-12-18 by Roman Hodek
64 st_mfp.tim_ct_cd = (st_mfp.tim_ct_cd & 15) | 0x60; in atari_sched_init()
83 * the result may briefly stop changing after counter wrap-around. in atari_read_clk()
88 ticks = INT_TICKS - count; in atari_read_clk()
98 #define COPY(v) val->v=(mste_rtc.v & 0xf) in mste_read()
106 } while (val->sec_ones != (mste_rtc.sec_ones & 0xf)); in mste_read()
112 #define COPY(v) mste_rtc.v=val->v in mste_write()
120 } while (val->sec_ones != (mste_rtc.sec_ones & 0xf)); in mste_write()
135 } while(0)
143 int hr24=0; in atari_mste_hwclk()
153 val.sec_ones = t->tm_sec % 10; in atari_mste_hwclk()
154 val.sec_tens = t->tm_sec / 10; in atari_mste_hwclk()
155 val.min_ones = t->tm_min % 10; in atari_mste_hwclk()
156 val.min_tens = t->tm_min / 10; in atari_mste_hwclk()
157 hour = t->tm_hour; in atari_mste_hwclk()
160 hour += 20 - 12; in atari_mste_hwclk()
161 if (hour == 0 || hour == 20) in atari_mste_hwclk()
166 val.day_ones = t->tm_mday % 10; in atari_mste_hwclk()
167 val.day_tens = t->tm_mday / 10; in atari_mste_hwclk()
168 val.mon_ones = (t->tm_mon+1) % 10; in atari_mste_hwclk()
169 val.mon_tens = (t->tm_mon+1) / 10; in atari_mste_hwclk()
170 year = t->tm_year - 80; in atari_mste_hwclk()
173 val.weekday = t->tm_wday; in atari_mste_hwclk()
181 t->tm_sec = val.sec_ones + val.sec_tens * 10; in atari_mste_hwclk()
182 t->tm_min = val.min_ones + val.min_tens * 10; in atari_mste_hwclk()
186 hour -= 12; in atari_mste_hwclk()
188 hour += 12 - 20; in atari_mste_hwclk()
190 t->tm_hour = hour; in atari_mste_hwclk()
191 t->tm_mday = val.day_ones + val.day_tens * 10; in atari_mste_hwclk()
192 t->tm_mon = val.mon_ones + val.mon_tens * 10 - 1; in atari_mste_hwclk()
193 t->tm_year = val.year_ones + val.year_tens * 10 + 80; in atari_mste_hwclk()
194 t->tm_wday = val.weekday; in atari_mste_hwclk()
196 return 0; in atari_mste_hwclk()
201 int sec=0, min=0, hour=0, day=0, mon=0, year=0, wday=0; in atari_tt_hwclk() local
204 int pm = 0; in atari_tt_hwclk()
212 sec = t->tm_sec; in atari_tt_hwclk()
213 min = t->tm_min; in atari_tt_hwclk()
214 hour = t->tm_hour; in atari_tt_hwclk()
215 day = t->tm_mday; in atari_tt_hwclk()
216 mon = t->tm_mon + 1; in atari_tt_hwclk()
217 year = t->tm_year - atari_rtc_year_offset; in atari_tt_hwclk()
218 wday = t->tm_wday + (t->tm_wday >= 0); in atari_tt_hwclk()
222 pm = 0x80; in atari_tt_hwclk()
224 hour -= 12; in atari_tt_hwclk()
226 else if (hour == 0) in atari_tt_hwclk()
235 mon = bin2bcd(mon); in atari_tt_hwclk()
237 if (wday >= 0) in atari_tt_hwclk()
244 * progress, registers 0..9 shouldn't be touched. in atari_tt_hwclk()
249 * If the UIP bit reads as 0, we have at least 244 usecs until the in atari_tt_hwclk()
268 mon = RTC_READ( RTC_MONTH ); in atari_tt_hwclk()
277 RTC_WRITE( RTC_MONTH, mon ); in atari_tt_hwclk()
279 if (wday >= 0) RTC_WRITE( RTC_DAY_OF_WEEK, wday ); in atari_tt_hwclk()
287 if (hour & 0x80) { in atari_tt_hwclk()
288 hour &= ~0x80; in atari_tt_hwclk()
297 mon = bcd2bin(mon); in atari_tt_hwclk()
304 hour = 0; in atari_tt_hwclk()
309 t->tm_sec = sec; in atari_tt_hwclk()
310 t->tm_min = min; in atari_tt_hwclk()
311 t->tm_hour = hour; in atari_tt_hwclk()
312 t->tm_mday = day; in atari_tt_hwclk()
313 t->tm_mon = mon - 1; in atari_tt_hwclk()
314 t->tm_year = year + atari_rtc_year_offset; in atari_tt_hwclk()
315 t->tm_wday = wday - 1; in atari_tt_hwclk()
318 return( 0 ); in atari_tt_hwclk()