Rejestry modułu R-Time 8
From Atariki
Wersja z dnia 20:54, 15 wrz 2005 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja Mono (Dyskusja | wkład) (nie tylko odczytanej) |
||
Linia 1: | Linia 1: | ||
- | Rejestry zegara [[R-Time8]] zlokalizowane są w obszarzez $D5B8-$D5BF. | + | {{SDP}} |
+ | Moduł bazuje na chipie [https://mixinc.net/atari/datasheet/M3002.pdf M3002] firmy EM MICROELECTRONIC-MARIN SA. | ||
+ | |||
+ | Zegar [[R-Time 8]] dysponuje jednym rejestrem, za pomocą którego dokonuje się sekwencji zapisu lub odczytu z wybranego rejestru układu. Rejestr ten jest wielokrotnie powtórzony w obszarze $D5B8-$D5BF. | ||
+ | |||
+ | Sekwencja dostępu do rejestru chipa polega na: | ||
+ | |||
+ | 1. Zapisie numeru rejestru. | ||
+ | |||
+ | 2. Zapisie/odczycie starszego nibble. | ||
+ | |||
+ | 3. Zapisie/odczycie młodszego nibble. | ||
+ | |||
+ | Nie ma możliwości sprawdzenia czy chip nie znajduje się w środku sekwencji dostępu, więc należy ją bezpiecznie zakończyć dokonując dwóch odczytów z rejestru. | ||
+ | |||
+ | Podobnie, jak [[ARC (zegar)|ARC]] układ ma 16 czterobitowych rejestrów, ale o nieco innym znaczeniu: | ||
+ | {| border="1" | ||
+ | |align="center"|Offset ||Max||Group||Data | ||
+ | |- | ||
+ | |align="center"| $0 || 59 || Watch|| Seconds | ||
+ | |- | ||
+ | |align="center"| $1 || 59 || Watch|| Minutes | ||
+ | |- | ||
+ | |align="center"| $2 || 23 || Watch|| Hours | ||
+ | |- | ||
+ | |align="center"| $3 || 28/29/30/31 || Watch|| Date | ||
+ | |- | ||
+ | |align="center"| $4 || 12 || Watch|| Month | ||
+ | |- | ||
+ | |align="center"| $5 || 99 || Watch|| Year | ||
+ | |- | ||
+ | |align="center"| $6 || 7 || Watch|| Week Day | ||
+ | |- | ||
+ | |align="center"| $7 || 53 || Watch|| Week Number | ||
+ | |- | ||
+ | |align="center"| $8 || 59 || Alarm|| Seconds | ||
+ | |- | ||
+ | |align="center"| $9 || 59 || Alarm|| Minutes | ||
+ | |- | ||
+ | |align="center"| $A || 23 || Alarm|| Hours | ||
+ | |- | ||
+ | |align="center"| $B || 28/29/30/31 || Alarm|| Date | ||
+ | |- | ||
+ | |align="center"| $C || 59 || Timer|| Seconds | ||
+ | |- | ||
+ | |align="center"| $D || 59 || Timer|| Minutes | ||
+ | |- | ||
+ | |align="center"| $E || 23 || Timer|| Hours | ||
+ | |- | ||
+ | |align="center"| $F || || Status|| Control | ||
+ | |} | ||
+ | Znaczenie bitów rejestru sterującego: | ||
+ | bit 3210 młodszy nibble | ||
+ | :::+- Watch: 0=stop, 1=run | ||
+ | ::+-- Alarm: 0=disable, 1=enable | ||
+ | :+--- Alarm Flag | ||
+ | +---- Timer Flag | ||
+ | bit 7654 starszy nibble | ||
+ | :::+- Timer: 0=stop, 1=run | ||
+ | :++-- 00: 256 Hz | ||
+ | : 01: Sec. | ||
+ | : 10: Min. | ||
+ | : 11: Hour | ||
+ | +---- Test Bit | ||
+ | Adres rejestru, jak i wartości starszego i młodszego nibble znajdują się zawsze w czterech najmłodszych bitach wartości. | ||
+ | |||
+ | == Zobacz == | ||
+ | [[ARC (zegar)|ARC]] | ||
{{stub}} | {{stub}} | ||
+ | [[Kategoria:Atari 8-bit]] | ||
[[Kategoria:Programowanie Atari 8-bit]] | [[Kategoria:Programowanie Atari 8-bit]] |
Aktualna wersja
Moduł bazuje na chipie M3002 firmy EM MICROELECTRONIC-MARIN SA.
Zegar R-Time 8 dysponuje jednym rejestrem, za pomocą którego dokonuje się sekwencji zapisu lub odczytu z wybranego rejestru układu. Rejestr ten jest wielokrotnie powtórzony w obszarze $D5B8-$D5BF.
Sekwencja dostępu do rejestru chipa polega na:
1. Zapisie numeru rejestru.
2. Zapisie/odczycie starszego nibble.
3. Zapisie/odczycie młodszego nibble.
Nie ma możliwości sprawdzenia czy chip nie znajduje się w środku sekwencji dostępu, więc należy ją bezpiecznie zakończyć dokonując dwóch odczytów z rejestru.
Podobnie, jak ARC układ ma 16 czterobitowych rejestrów, ale o nieco innym znaczeniu:
Offset | Max | Group | Data |
$0 | 59 | Watch | Seconds |
$1 | 59 | Watch | Minutes |
$2 | 23 | Watch | Hours |
$3 | 28/29/30/31 | Watch | Date |
$4 | 12 | Watch | Month |
$5 | 99 | Watch | Year |
$6 | 7 | Watch | Week Day |
$7 | 53 | Watch | Week Number |
$8 | 59 | Alarm | Seconds |
$9 | 59 | Alarm | Minutes |
$A | 23 | Alarm | Hours |
$B | 28/29/30/31 | Alarm | Date |
$C | 59 | Timer | Seconds |
$D | 59 | Timer | Minutes |
$E | 23 | Timer | Hours |
$F | Status | Control |
Znaczenie bitów rejestru sterującego:
bit 3210 młodszy nibble :::+- Watch: 0=stop, 1=run ::+-- Alarm: 0=disable, 1=enable :+--- Alarm Flag +---- Timer Flag bit 7654 starszy nibble :::+- Timer: 0=stop, 1=run :++-- 00: 256 Hz : 01: Sec. : 10: Min. : 11: Hour +---- Test Bit
Adres rejestru, jak i wartości starszego i młodszego nibble znajdują się zawsze w czterech najmłodszych bitach wartości.
Zobacz
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.