ZX Spectrum > PROGRAMOWANIE
Dla początkujących i powracających
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
[#] Następna strona
Idź do wersji pełnej