ZX Spectrum > PROGRAMOWANIE

Dla początkujących i powracających

<< < (2/7) > >>

matofesi:

--- Cytuj ---Nie znam się na szatańskich machinach typu ZX128, ale -
ładuje od 25000 aż do końca bloku z danymi, już sam z siebie.
Tu: prawdopodobnie należy również pamiętać, że 128K ma bankowanie jakies tam, czy coś? I tak liniowo to nie można sobie nawalić masy danych? Mat? Tygrys?

--- Koniec cytatu ---

Oczywiście, że nie można liniowo. Jak się nic extra nie zrobi, to LOAD działa jak w 48 - ładuje do końca podstawowej pamięci. Żeby załadować resztę banków trzeba przed każdym kolejnym LOAD w trybie 128 przełączyć bank odpowiednim POKE. Trzeba przy tym pamiętać, że w trybie 128 część extra pamięci jest używana przez system (ramdysk, bufory edytora) i należy uważać co i gdzie się ładuje, żeby nie pokaszanić.

Abrimaal:

--- Cytat: matofesi w 2012.02.24, 11:00:38 ---
--- Cytuj ---Nie znam się na szatańskich machinach typu ZX128, ale -
ładuje od 25000 aż do końca bloku z danymi, już sam z siebie.
Tu: prawdopodobnie należy również pamiętać, że 128K ma bankowanie jakies tam, czy coś? I tak liniowo to nie można sobie nawalić masy danych? Mat? Tygrys?

--- Koniec cytatu ---

Oczywiście, że nie można liniowo. Jak się nic extra nie zrobi, to LOAD działa jak w 48 - ładuje do końca podstawowej pamięci. Żeby załadować resztę banków trzeba przed każdym kolejnym LOAD w trybie 128 przełączyć bank odpowiednim POKE. Trzeba przy tym pamiętać, że w trybie 128 część extra pamięci jest używana przez system (ramdysk, bufory edytora) i należy uważać co i gdzie się ładuje, żeby nie pokaszanić.

--- Koniec cytatu ---
Banki pamięci od 49152 do 65535 przełącza się OUT 32765,n np. przełączanie ekranów dla gigascreen to OUT 32765,16 i 31 na zmianę na przerwaniach.

matofesi:
Aha. I spróbuj to zrobić w programie w BASICu w trybie 128 ;) Musiałbym chwilę poszukać, ale w BASICu jest do tego zmienna systemiowa, którą system monitoruje i przełącza stosownie banki.

A przełączanie ekranów "na przerwaniach" nie da ci gigascreena tylko dwa mrugające obrazki - na ile rozumiem koncepcję gigascreena musisz przełączać ekrany co linię i w kolejnych ramkach zamieniać kolejność ekranów.

Abrimaal:
Ten "gigascreen" to napisałem tak na wyrost. Wiadomo o co chodzi.
A dodatkowych zmiennych systemowych dla 128 nie znam, nawet nie wiem pod jakimi adresami się znajdują.

Pyza^Illusion:

--- Cytat: matofesi w 2012.02.24, 21:11:36 ---Aha. I spróbuj to zrobić w programie w BASICu w trybie 128 ;) Musiałbym chwilę poszukać, ale w BASICu jest do tego zmienna systemiowa, którą system monitoruje i przełącza stosownie banki.

A przełączanie ekranów "na przerwaniach" nie da ci gigascreena tylko dwa mrugające obrazki - na ile rozumiem koncepcję gigascreena musisz przełączać ekrany co linię i w kolejnych ramkach zamieniać kolejność ekranów.

--- Koniec cytatu ---

Otóż nie... Jest to zresztą opisane w którymś temacie tu na forum (w dziale z grafiką). Giga-screen to właśnie tylko 2 mrugające obrazki zmieniające się co ramkę :p

Zmienna systemowa w BASIC 128 to POKE 23388,x (x-nr banku). Nie pamiętam czy ten nr banku miał podobne wartości jak dla OUT'a. Generalnie i tak "nikt" z tego nie korzystał. Programy zawsze pisało się pod USR0 i BASIC48.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej