APPLICATIONSPROGRAMMATION ★ FORMAT ZASLONA, PREKINITVE, OKNA (MOJ MICRO) ★

Format zaslona, prekinitve, okna (Moj Micro)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Amstradova serija računalnikov CPC je zelo povečala grafične zmogljivosti hišnih računalnikov in jih na tem področju po ceni približala povsem drugačnim razredom. Na voljo je 27 barv in maksimalno 128.000 točk, to pa je samo dvakrat manj kot pri Atarijevih računalnikih ST. Načini so trije: način 0 s 16 barvami in ločljivostjo 160 * 200, način 1 s 4 barvami in ločljivostjo 320 x 200 in fina grafika v načinu 2 s samo dvema barvama in ločljivostjo 640 x 200.

Namen serije je omogočiti izkoristek grafičnih možnosti in z veliko primeri pokazati vse, kar zmorejo video čip. operacijski sistem, basic in strojni jezik procesorja Z80.

Pomnilniška karta pokriva polnih 16 K in sicer na področju #C000 - #FFF inicialno. Organizirana je sorazmerno zapleteno, vendar ne tako zelo zapleteno, da bi se morali odpovedati delu z lepo grafiko Karta je razdeljena na 8 blokov, od katerih ima vsak 2000 bytov. V vsakem bloku je 48 neizkoriščenih bytov; v vsakem bloku ie shranjena po ena vrsta VSEH vrst besedila Tako so na področju #C000 - #C7FF shranjene vse prve vrste, na področju #C800 - #CFFF vse druge itd Byte, od katerega se začne risati slika, ni nujno prvi, temveč je lahko katerikoli parni in sicer eden za vse bloke (naslov začetka je relativen) Tako dosežemo mehko pomikanje (skroliranje. a o tem podrobneje pozneje)

Video čip ima 16 registrov, ki določajo format slike in sistem risanja (v našem primeru sistem PAL) in se inicializira ob vklopu računalnika Sprememba nekaterih od teh registrov utegne biti koristna, zaradi spremembe drugih pa je slika nestabilna. Register 2 vsebuje horizontalno pozicijo vidnega zaslona v vsem snopu slike Lahko ga menjamo: OUT&BC00,2 0UT&BD00,46+N. pri čemer je N relativni pomik: za 1 ... 17 gre slika v levo. za -1 ... -20 gre v desno Register 7 vsebuje vertikalno pozicijo zaslona. Spremenimo ga z OUT&BC00,7:OUT&BD00,30 + N; pri tem je N relativni pomik za 1 8 gre slika gor. za -1 ... -8 gre dol Listing 1 ponazori pomikanje lika. ki prihaja z leve strani zaslona in izgine na desni.

Format zaslona ni konstanten in ga je mogoče spremeniti. Register 1 vsebuje širino zaslona v bytih. Inicialno je to 40x2 80 bytov. Vsak byte ima 2, 4 ali 8 točk. odvisno od načina dela (2 je število bytov, ki so hkrati zajeti) Širina je vsebovana v registru 6 Inicialno je to 25 x 8 200 (8 je vrednost registra 9. povečana za 1). Če so dimenzije večje od količine zasedenega pomnilnika. se slika ponavlja kar lahko izkoristimo (listing 2) Ce širino zaslona zmanjšamo na 0. slike ne vidimo in tedaj je ves zaslon obarvan z barvo roba Slika se bo spet pojavila če vrednost 40 vrnemo v register.

Izključitev slike : OUT&BC00,1 : OUT&BD00,0
Vključitev slike : OUT&BC00,1 : OUT&BD00,40

S postopnim zmanjševanjem formata dosežemo efekten »razpad» zaslona, kakršnega poznamo iz mnogih iger (listing 3)

Tako zmanjšam zasloni se še vedno razprostirajo na vsem področju #C000 - #FFFF le da je v vsakem bloku s po 2 K več neizkoriščenega prostora. Če želimo zaslon omejiti da bi mogli izkoristiti več pomnilnika. moramo spremeniti tudi register 9. ki šteje bloke (oziroma vrste) Če zmanjšamo register na samo 4 bloke. video pomnilnik zaseda »samo» 8 K na področju #C000 - &DFFF zaslon pa nima več 200. temveč 100 vrst Zdaj je težava z izpisom znakov. Možno ie narediti vse nove rutine za delo s tako organiziranim pomnilnikom problem pa lahko rešimo tudi s spretno uporabo operacijskega sistema m sicer celo iz basica (listing 4).

Točke v bytu niso razporejene po kaki logiki, temveč tako. kot ustreza hardveru. Izjema je le način 2 Organizacija točk nas ne bi smela zelo motiti, znati moramo samo spretno uporabljati rutine operacijskega sistema. Temu vprašanju bomo posvetili več pozornosti ko bomo v nadaljevanjih govorili o risanju gibljivih sličic in pomikanj.

Grafike ne moremo bolje izkoristiti. če ne kontroliramo prekinitev Slika se na zaslonu nariše 50-krat v sekundi, hitre prekinitve pa se pri amstradu dogajajo 300-krat v sekundi Tako je mogoče med risanjem slike šestkrat narediti kako hitro operacijo za učinkovit efekt Zelo si recimo pomagamo s spreminjanjem palete barv in načinov v vsakem od šestih delov zaslona Pri prekinitvi je moč spreminjati tudi registre video čipa. vendar efekti niso najboljši S spreminjanjem registrov. ki določajo pozicijo slike v snopu, sliko ukrivimo sprememba začetnega naslova slike (da bi na zaslonu narisali dve povsem ločeni sliki) pa ne da zaželenega učinka, ker video procesor ta naslov vzame samo na začetku risanja vsake slike.

In nazadnje, listing 5 je program, ki izkorišča možnost spreminjanja barv s prekinitvami Dolgo je že tega. ko je avtor tega besedila videl reklamo za ta program v reviji Happy Computer (letnik 1985). vendar ta rutina doslej še ni bila objavljena v kaki od naših revij No nikoli m prepozno .

Program lahko kontroliramo z dvema ukazoma RSX :

|MCOLOR , < okno > , < številka črnila , ki ga menjamo > , < barva >  ; 0 ... 5 0 ... 16 (16 = rob) 0 ... 31
|MMODE , < okno > , < screen mode > ; 0 ... 5 0 ... 2

Listing programa je napisan z Devpacom. Ni vam ga treba pretipkavati, ker je namenjen samo za analizo. Da bi program stekel, morate pretipkati program z listinga 6 in ga posneti. Potem resetirate računalnik in pretipkate program listinga 7. Ko ga poženete, vam bo javil, katere vrste niste pravilno pretipkali. Če je vse v redu. bo takoj posnel strojno verzijo. Zdaj imate na traku (ali disketi) relokatibilen program, ki se vpiše pod ramtopom. Demonstracijo lahko vtipkate z listingom 8. Omeniti moramo, da program ne uporablja pomoči kernala. temveč sam »podtika« svoje prekinitve ker so vse akcije operacijskega sistema predloge in ustvarjajo nestabilno sliko. Meje okna na zaslonu so v tekstnih vrstah -2.5 in 6.12.18 ter 19 in 25. Te meje lahko pomaknemo s spremembo vertikalne pozicije slike v snopu (kot v našem primeru). V omenjenih vrstah so barve in načini na prehodu in se moramo zato izogibati risanju v teh delih slike (razen če so definicije barv in načinov v sosednjih oknih enake). Če so načini dela v oknih različni, imamo težave z izpisom, kajti pri spremmjaju načina se zaslon izbriše Rešitev je k sreči preprosta. Izvršimo samo ukaz POKE&BDEB.&C9 in potem željeni ukaz za način. Zaslon tedaj ne bo izbrisan To opcijo je mogoče izključiti s POKE&BDEB,&C3 Na naslovu &BDEB je link SCR MODE CLEAR. Ob izključitvi prekinitve (zaradi dela z disketno enoto ali s trakom). bo ves zaslon v barvah in načinu, ki smo jih definirali, ko smo onemogočili prekinitev Ko prekinitve spet omogočimo slika postane takšna, kakršna ie bila prej.

Večbarvni način izključimo s POKE HIMEN+ 137,&B7 ; vključimo pa ga s POKE HIME+137,&37 Moramo upoštevati, da se HIMEN spremeni. kadar delamo s kasetofonom oziroma disketnikom.

Prihodnjič : Načrti za animacijo, risanje; šablone za črto.

Moj Micro

★ PUBLISHER: Moj Micro
★ ANNÉES: 1987 , 1988
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTHOR: SINIŠA JAGODIČ
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Format  zaslona-Prekinitve-Okna    (Moj  Micro)    LISTING    SLOVENIANDATE: 2021-11-20
DL: 137
TYPE: PDF
SiZE: 452Ko
NOTE: 5 pages/PDFlib v1.6

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

Lien(s):
» Applications » Window Saver
» Applications » Window - Planer (CPC Amstrad International)
» Applications » Poolswinner
» Applications » Doodle - Simple Drawing Program (The Amstrad User)
» Applications » Swing Music
» Applications » Fenetres (Amstrad Magazine)
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» 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 540 millisecondes et consultée 579 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.