Ready/Run

Takie sobie archiwum listingów ze starych magazynów komputerowych


Mieszanie trybów
  • Język programu: Locomotive Basic
  • Platforma: Amstrad
  • Kod zamieszczono w Bajtek 1/1988
  • Autor listingu: Jarosław Borełowski
  • Listing nadesłał: Faust

Stan listingu:

4
Listing gotowy - uruchamia się na emulatorze lub realnej maszynie zgodny z listingiem zamieszczonym w periodyku

Poniższy program dodaje nowe rozkazy do BASIC-a pozwalając na prace ekranu Amstrada w kilku trybach równocześnie.

Miłą cechą Amstradow jest możliwość podziału ekranu na cztery części (zwane dalej sekcjami) i nadawania im własnych trybów pracy. Kto widział grę SORCERY na Am- stradzie, wie jakie efekty można uzyskać za pomocą tej metody. W grze tej górna część ekranu pracuje w trybie 0 pozwalającym na uzyskanie 16-u kolorów, podczas gdy dolna część ekranu pracuje w trybie 1 i służy do wyświetlania tekstów.
Mieszanie trybów osiągane jest za pomocą odpowiednich zmian wartości rejestru układu VGA (Video Gate Ar- ray) określającego tryb pracy ekranu.
Podział ekranu na sekcje jest stały. Wiersze 1-5 tworzą sekcję o numerze 0, wiersze 6-12 sekcję 1, wiersze 13-18 sekcję 2, a wiersze 19-25 sekcję 3.
Prezentowany program dodaje trzy nowe rozkazy do BASIC-A. Po jego uruchomieniu program można wymazać z pamięci. Rozszerzenia będą aktywne oczywiście tylko do momentu wyłączenia komputera. UWAGA! Dla bezpieczeństwa nie należy zapomnieć o zapisaniu wprowadzonego programu na taśmę lub dysk przed pierwszą próbą jego uruchomienia. Wprowadzone rozkazy są rozkazami RSX rozpoczynającymi się znakiem: (SHIFT @)
:SETMO .sekcja, tryb [.sekcja,tryb] — informuje system operacyjny Amstrada w jakim trybie ma wyświetlać daną sekcję. Jednym rozkazem można nadać tryby jednej lub wielu sekcjom.
:SMODE .tryb — służy do pisania po ekranie, informuje system w jakim trybie będziemy teraz wyprowadzać dane na ekran. Działanie tego rozkazu jest analogiczne jak rozkazu MODE z tym, że nie czyści ekranu. Używanie rozkazu MODE mija się z celem albowiem tryb ustawiony tym rozkazem zostanie zmieniany przy najbliższym przerwaniu.
:NORMAL ,tryb — powrót do normalnego, całoekrano- wego trybu pracy. Wskazane jest użycie tego rozkazu przed pierwszym użyciem rozkazu :SETMO.
Program utrzymując ekran w kilku trybach używa przerwań, które są blokowane podczas operacji na dysku lub taśmie. Nie uzyskamy dobrych rezultatów próbując współpracować z pamięciami zewnętrznymi mając podzielony ekran.
Nie należy również dopuszczać do wysuwu ekranu (scroll), który zaburza synchronizację zmiany trybu pracy podczas przechodzenia pomiędzy sekcjami.
Załączony program demonstracyjny ułatwia zrozumienie sposobu użycia nowych rozkazów BASIC-a.
Na podstawie Popular Computing Weekly
 

Mieszanie trybów