умная мысль -- применение RTC чипа на спектруме — ZXNet «code.zx»

умная мысль -- применение RTC чипа на спектруме

ZXNet echo conference «code.zx»



from: Kirill Frolov
to: All
date: 12 February 2002
Hемедленно нажми на RESET, All! Бывает в программах надо отсчитывать время с дискретностью меньше 1 секунды. RTC чип считает только по секундам. Кадровых прерываний (20мс период) по каким-либо причинам не достаточно (например работает модем подключенный по кондратьевской схеме с прерываниями -- кадровые прерывания часто теряются). Можно запрограммировать A и B регистры RTC для получения периодических прерываний с периодом 31.25мс. Самих прерываний конечно-же процессор не получит (на спеке выход прерывания RTC чипа не подключен никуда). Hо зато можно во время каждого аппаратного прерываня (NMI, INT от модема...) опрашивать регистр статуса RTC и выявлять факт запроса прерывания. Если нигде командами DI прерывания в программе не запрещаются то они (в случае использования модема) возникают не реже чем раз в 20мс (NMI или INT). Короче говоря каждые 20..40мс можно получать импульс на увеличение счётчика времени на 31.25мс, вне зависимости от работы модема. Точность счётчика зависит только от точности хода RTC +/- 20мс. * Originally in CODE.ZX * Crossposted in REAL.SPECCY