CODINGLISTINGS ★ ZEGAR DLA AMSTRADA (BAJTEK)

Zegar dla Amstrada (Bajtek)Coding Listings
My wykorzystamy tę zaletę (Czytelnicy znający zasady pracy mikroprocesora wiedzą, że w celu zapewnienia w miarę dokładnej pracy zegara wykorzystywany jest mechanizm przerwań, czyli sprzętowego (zewnętrznego) wymuszania skoku do określonego adresu w pamięci komputera) do napisania własnego zegara, który będzie pracował niezależnie od aktualnie wykonywanych programów i będzie podawał czas w normalnej formie (czyli godz.:min.:sek.). Wyposażymy go również w budzik i możliwości sterowania z BASIC-u. Żeby być całkowicie w zgodzie z prawdą należy zauważyć, że nasz zegar, tak jak zresztą i maszynowy, nie pracują, jeśli jakiś program wyłączy przerwania, co jest możliwe za pomocą odpowiedniego rozkazu maszynowego. System i BASIC wyłączają przerwania właściwie tylko w czasie zapisu lub odczytu danych na taśmę lub dyskietkę. Po wpisaniu i uruchomieniu zamieszczonego obok programu należy odpowiedzieć na pytanie o wersję Amstrada (Schneidera), gdyż od tego zależą adresy pewnych procedur systemowych wykorzystywanych przez program (np. dzielenie przez 10). Opracowany na podstawie „Schneider International" nr 12/1985 – zmiany dotknęły komend sterujących (z niem. na polski).

10 DATA &21, &42, &a4, &11, &0f, &a4, &01, &00, &8B, &cd, &d7, &bc, &c3, &d7, &a4, &21
20 DATA &3C, &A4, &35, &C0, &36, &32, &23, &7E, &C6, &01, &27, &77, &FE, &60, &20, &2C
30 DATA &36, &00, &23, &7E, &c6, &01, &27, &77, &FE, &60, &20, &20, &36, &00, &23, &7E
40 DATA &C6, &01, &27, &77, &FE, &24, &20, &14, &36, &00, &18, &10, &01, &00, &00, &00
50 DATA &00, &00, &00, &00, &00, &00, &00, &88, &0F, &A4, &00, &00, &C5, &D5, &CD, &A6
60 DATA &A4, &3A, &92, &a4, &B7, &28, &0A, &CD, &65, &A4, &23, &01, &00, &48, &CD, &93
70 DATA &A4, &D1, &C1, &AF, &C9, &11, &3D, &A4, &21, &91, &A4, &06, &03, &1A, &4F, &E6
80 DATA &0F, &C6, &30, &2B, &77, &79, &1F, &1F, &1F, &1F, &E6, &0F, &C6, &30, &2B, &77
90 DATA &13, &2B, &36, &3A, &10, &E7, &C9, &00, &3A, &30, &30, &3A, &30, &30, &3A, &32
100 DATA &35, &00, &01, &7E, &B7, &C8, &E5, &C5, &E1, &C5, &CD, &A3, &A4, &C1, &E1, &04
110 DATA &23, &18, &F0, &CF, &47, &93, &11, &CA, &A4, &21, &3D, &A4, &7E, &FE, &03, &D0
120 DATA &23, &1A, &BE, &C0, &13, &23, &1A, &BE, &C0, &CD, &C6, &A4, &21, &CC, &A4, &01
130 DATA &01, &46, &CD, &93, &A4, &C9, &CF, &DD, &94, &C9, &01, &00, &42, &55, &44, &5a
140 DATA &49, &4b, &20, &31, &20, &20, &00, &21, &E9, &A4, &CD, &D4, &BC, &38, &09, &01
150 DATA &15, &A5, &21, &11, &A5, &CD, &D1, &BC, &C9, &55, &53, &54, &41, &D7, &41, &4c
160 DATA &41, &52, &cD, &54, &45, &4b, &53, &D4, &53, &54, &4f, &d0, &57, &4c, &41, &43
170 DATA &da, &57, &59, &4c, &41, &43, &da, &53, &54, &41, &52, &d4, &43, &5a, &41, &D3
180 DATA &00, &73, &46, &15, &A5, &E9, &A4, &C3, &43, &A5, &C3, &51, &A5, &C3, &84, &A5
190 DATA &C3, &3C, &A5, &C3, &31, &A5, &C3, &37, &A5, &A3, &00, &A4, &C3, &9B, &A5, &00
200 DATA &00, &3E, &01, &32, &92, &A4, &C9, &AF, &32, &92, &A4, &C9, &21, &42, &A4, &CD
210 DATA &DD, &BC, &C9, &FD, &21, &3E, &A4, &CD, &59, &A5, &FD, &2B, &FD, &36, &00, &00
220 DATA &C9, &FD, &21, &CA, &A4, &CD, &59, &A5, &C9, &FE, &02, &C0, &26, &00, &DD, &6E
230 DATA &00, &CD, &71, &A5, &FD, &77, &00, &DD, &6E, &02, &CD, &71, &A5, &FD, &77, &01
240 DATA &C9, &11, &0A, &00, &D7, &b3, &1D, &7D, &17, &17, &17, &17, &E6, &F0, &6F, &7B
250 DATA &E6, &0F, &B5, &C9, &FE, &01, &C0, &DD, &66, &01, &DD, &6E, &00, &23, &5E, &23
260 DATA &56, &01, &0A, &00, &21, &CC, &A4, &EB, &ED, &B0, &C9, &FE, &01, &C0, &DD, &6E
270 DATA &00, &DD, &66, &01, &7E, &FE, &08, &D8, &E5, &CD, &65, &A4, &E1, &23, &5E, &23
280 DATA &56, &21, &89, &A4, &01, &08, &00, &ED, &B0, &C9, &00, &00, &00, &00, &00, &00
290 adr=&A400:suma=0: koniec=&A5BA
310 IF HIMEM>&A3FF THEN MEMORY &A3FF
320 FOR a=adr TO koniec
330 READ b:POKE a,b:suma=suma+b
340 NEXT a:IF suma<>48339 THEN PRINT "Popraw DATA !!!":END
350 INPUT "464,664 czy 6128 (1/2/3):",a%
360 IF a%3 THEN 350
370 IF a%=1 THEN POKE &A4A4, &4A:POKE &A4C7, &D8:P0KE &A574, &CD:POKE &A575, &C1:POKE &A576, &BD ELSE IF a%=3 THEN POKE &A4A4, &4B:POKE &A
4C7, &E1:POKE &A575, &AE
380 CALL &A400


Bajtek

★ PUBLISHER: Bajtek
★ ANNÉE: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTHOR: Sergiusz Wolicki

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Torus
» Coding Src's » Scrolling Scenery (Computing With the Amstrad)
» Coding Src's » Wieczny Kalendarz (Bajtek)
» Coding Src's » Pelota Rebotante
» Coding Src's » Stone's Rag
» Coding Src's » Graphic - Elmar Krieger - Special Effects - Der Videocontroller Und Das Gate - Array Im CPC (CPC Amstrad International)
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 405 millisecondes et consultée 1442 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.