home *** CD-ROM | disk | FTP | other *** search
/ Serious Magazine 12 / Serious_Magazine_12_2003_01_07_Dial_pl_Side_A.atr / arc_art._12 next >
Text File  |  2023-02-26  |  7KB  |  1 lines

  1.             Atari Real Clock¢   ----------------------------------¢     nowy zegar czasu rzeczywistego¢          dla komputerw Atari¢¢ Wielu Atarowcw s ysza o  zapewne,  əe¢ istnieje co③  takiego  jak  R-Time 8 -¢ zegar  czasu rzeczywistego wsp pracu-¢ j⇧cy  z  ma ymi Atarynkami.  Niektrzy¢ mog⇧ nawet pochwali⇨ si❎,  əe widzieli¢ to cudo  "na əywo".  Jednak tylko nie-¢ liczni szcz❎③liwcy ciesz⇧ si❎ posiada-¢ niem zegara i moəliwo③ci⇧  uəywania go¢ na co dzie.  Sprz❎t ten  by   i  jest¢ do③⇨ rzadko wyst❎puj⇧cym dodatkiem dla¢ naszego pupila,  a  zastosowane  w nim¢ rozwi⇧zania    techniczne   skutecznie¢ utrudniaj⇧  zwyk e  "skopiowanie"  go.¢ Brak jest po prostu odpowiednich "cz❎-¢ ③ci zamiennych".  Czyəby wi❎c pozosta ¢ nam p acz i zgrzytanie z❎bw?¢¢ Juə nie, bo oto jest Atari Real Clock.¢ Zegarek skonstruowany przez niejakiego¢ Pasia/SSG - czy znacie go③cia?¢¢¢ Po szczeg y dotycz⇧ce budowy, czy teə¢ dzia ania A.R.C. "od wewn⇧trz",  odsy-¢  am do stosownego artka, ktry  -  mam¢ nadziej❎ - znajdzie si❎  w tym magazy-¢ nie. Tutaj chcia bym przedstawi⇨ zegar¢ z punktu widzenia  uəytkownika/progra-¢ misty,  a  takəe zaprezentowa⇨ handler¢ urz⇧dzenia dla systemu Sparta DOS X.¢¢¢ Model Atari Real Clock'a, ktry otrzy-¢ ma em do testw, mia  posta⇨ przeloto-¢ wego cartridge'a.  Jednak jak obiecuje¢ Pasiu,  nie powinno by⇨ problemu z up-¢ chaniem zegara np. wewn⇧trz carta SDX,¢ albo  pod mask⇧ komputera - do wyboru,¢ do koloru.  Dla  procesora  6502 zegar¢ jest dost❎pny poprzez szesna③cie czte-¢ robitowych rejestrw umieszczonych pod¢ adresami $D520-$D52F  (m odsze po wki¢ bajtw).  Znaczenie rejestrw jest na-¢ st❎puj⇧ce:¢¢ $D520 (S1)¢    Cyfra jedno③ci  sekund  (bity 0-3),¢    przyjmuje warto③ci z zakresu 0-9.¢¢ $D521 (S10)¢    Cyfra dziesi⇧tek sekund (bity 0-2),¢    przyjmuje warto③ci z zakresu 0-6.¢    Bit 3 zawsze skasowany (0).¢¢ $D522 (MI1)¢    Cyfra jedno③ci minut (jak S1).¢¢ $D523 (MI10)¢    Cyfra dziesi⇧tek minut (jak S10).¢¢ $D524 (H1)¢    Cyfra jedno③ci godzin (jak S1).¢¢ $D525 (H10)¢    Cyfra dziesi⇧tek godzin (bity 0-1),¢    przyjmuje warto③ci 0-2 w trybie 24h¢    lub 0-1 w trybie 12h (AM/PM).¢    Bit 2 w trybie 24h zawsze skasowa-¢    ny, a w trybie 12h informuje o po-¢    rze dnia: 0-AM, 1-PM.   Bit 3=0¢ $D526 (D1)¢    Cyfra jedno③ci dnia (jak S1).¢¢ $D527 (D10)¢    Cyfra dziesi⇧tek  dnia  (bity 0-1),¢    przyjmuje  warto③ci  z zakresu 0-3.¢    Bity 2-3 zawsze skasowane.¢¢ $D528 (MO1)¢    Cyfra jedno③ci miesi⇧ca (jak S1).¢¢ $D529 (MO10)¢    Cyfra  dziesi⇧tek miesi⇧ca (bit 0),¢    Warto③⇨ 0 lub 1. Bity 1-3 = 0¢¢ $D52A (Y1)¢    Cyfra jedno③ci roku (jak S1).¢¢ $D52B (Y10)¢    Cyfra dziesi⇧tek roku (jak S1).¢¢ $D52C (W)¢    Numer  dnia   tygodnia  (bity 0-2),¢    Warto③ci 0-6,  0 to poniedzia ek.¢    Bit 3 zawsze skasowany.¢ $D52D (RegD)¢    Bit 0 - Busy Flag¢    Bit 1 - IRQ Adj¢    Bit 2 - 30s¢    Bit 3 - nieuəywany¢    Do czego s uə⇧ te rejestry,  szcze-¢    rze mwi⇧c  nie  wiem.  Ko③⇨ zegara¢    pochodzi z rozszerzenia pami❎ci  do¢    Amigi 500, by⇨ moəe tam rejestry te¢    mia y jakie③  konkretne  zastosowa-¢    nie.  W  naszym przypadku naleəy je¢    po prostu ola⇨.¢¢ $D52E (RegE)¢    Bit 0 - INT/STD¢    Bit 1 - t0¢    Bit 2 - t1¢    Bit 3 - nieuəywany¢    Patrz uwaga do $D52D.¢¢ $D52F (RegF)¢    Bit 0 - Reset - ustawienie bitu re-¢            setuje podobno uk ad. Obja-¢            wia si❎ to zatrzymaniem ze-¢            gara.¢    Bit 1 - Stop -  jedynka  zatrzymuje¢            zegar.¢¢    Bit 2 - 24/12 - wybr  trybu pracy:¢            0 - tryb 12h (AM/PM),¢            1 - tryb 24h.¢            Rejestr jest do zapisu i do¢            odczytu, wi❎c moəna tu tak-¢            əe sprawdzi⇨ jaki tryb jest¢            aktualnie w ⇧czony.¢            Uwaga: w  niektrych  mode-¢            lach,  by zmieni⇨ tryb pra-¢            cy,  zegar  trzeba najpierw¢            zresetowa⇨ - (?). W ⇧czenie¢            trybu 24h moəe wygl⇧da⇨ tak¢                  lda #$01¢                  ldx #$04¢                  sta $d52f¢                  stx $d52f¢¢    Bit 3 - Test -  ustawienie bitu po-¢            woduje kilkudziesi❎ciokrot-¢            ne  przyspieszenie  zegara.¢            Przy  normalnej  pracy  bit¢            powinien by⇨ skasowany.¢¢ Powyəsze informacje powinny w zasadzie¢ wystarczy⇨ do korzystania z zegara  we¢ w asnych programach. Jak wida⇨, nie ma¢ tutaj əadnej filozofii:  odczyt czasu,¢ to po prostu zczytanie kolejnych reje-¢ strw, a zapis  -  odwrotnie. Ale əeby¢ nie by o tak  atwo:  wyobra♪my  sobie,¢ əe w momencie,  kiedy zaczynamy czyta⇨¢ czas,  jest godzina 23:59:59.  Czytamy¢ kolejne rejestry od  $D520  pocz⇧wszy,¢ a tu przed $D526 zmieni a si❎ godzina.¢ Odczytali③my star⇧ godzin❎ z now⇧  da-¢ t⇧ - ups, pomy ka o dob❎. ⑧eby ustrzec¢ si❎ przed tak⇧ sytuacj⇧, wystarczy od-¢ czyta⇨ zegar drugi  raz  i  sprawdzi⇨,¢ czy  si❎  zmieni .  Je③li nie to OK, a¢ je③li tak to jeszcze  raz  odczytujemy¢ rejestry  -  ich  stan zmienia si❎ nie¢ cz❎③ciej niə co  sekund❎,  wi❎c  je③li¢ przed chwil⇧ si❎ zmieni , to... sekun-¢ da to wbrew pozorom bardzo d ugo.  Po-¢ dobnie rzecz ma si❎ w przypadku  zapi-¢ su czasu - lepiej sprawdzi⇨ to  co si❎¢ zapisa o.¢¢¢ Na zakoczenie chcia bym opisa⇨  hand-¢ ler przeznaczony do obs ugi A.R.C. pod¢ kontrol⇧ Sparta DOS X.  Instaluje  si❎¢ go standardowo,  tj. poleceniem DEVICE¢ w pliku CONFIG.SYS - cho⇨ rwnie  dob-¢ rze moəna proga uruchomi⇨ bezpo③rednio¢ z linii polece. Procka zanim zainsta-¢ luje handler sprawdza,  czy zegar jest¢ i czy dzia a. Test trwa oko o p torej¢ sekundy,  co moəe by⇨ troch❎ wkurzaj⇧-¢ ce,  bo o te p torej sekundy  wyd uəa¢ si❎ start systemu. Jak testuj❎? Spraw-¢ dzam czy rejestr sekund si❎  zmienia -¢ proste i dlatego trwa tak d ugo. Moəna¢ jednak test wy ⇧czy⇨ dodaj⇧c  parametr¢ /T za nazw⇧ pliku - zegara nie od ⇧cza¢ si❎ przecieə co chwil❎,  wi❎c po co za¢ kaədym razem go sprawdza⇨. Rozpoznawa-¢ ne s⇧ jeszcze parametry /H i /?  - po-¢ woduj⇧ one wy③wietlenie ma ego  helpa,¢ wstrzymuj⇧c jednocze③nie dalsz⇧ insta-¢ lacj❎.¢¢¢¢ Uwaga: poniewaə  handler  zak ada,  əe¢ zegar pracuje w trybie 24h, to podczas¢ instalacji tryb jest odpowiednio prze-¢  ⇧czany. Moəe to spowodowa⇨ zmian❎ go-¢ dziny (cofni❎cie o 12h),  je③li wcze③-¢ niej by  tryb 12h  i  godzina popo ud-¢ niowa. O ile wiem, nie ma jeszcze əad-¢ nego oprogramowania, ktre pracowa oby¢ w trybie 12h,  wi❎c  nie powinno by⇨ z¢ tym problemw - chyba, əe kto③ r❎cznie¢ b❎dzie prbowa  co③ ustawia⇨.¢¢ To wszystko.¢ Szukaj w stuffie: IJפבכנבי«צךצ¢¢                       Qcyk/Dial¢¢