ZX Spectrum > GRAFIKA
Tryb gigascreen
Dalthon:
Czyli... poprzez port 1FFDh można ustawiać dodatkowe kombinacje:
Bit 2 =0 Bit 2 =0 Bit 2 =1 Bit 2 =1
Bit 1 =0 Bit 1 =1 Bit 1 =0 Bit 1 =1
FFFFh+--------+ +--------+ +--------+ +--------+
| Bank 3 | | Bank 7 | | Bank 3 | | Bank 3 |
| | | | | | | |
| | | | | | | |
| | | screen | | | | |
C000h+--------+ +--------+ +--------+ +--------+
| Bank 2 | | Bank 6 | | Bank 6 | | Bank 6 |
| | | | | | | |
| | | | | | | |
| | | | | | | |
8000h+--------+ +--------+ +--------+ +--------+
| Bank 1 | | Bank 5 | | Bank 5 | | Bank 7 |
| | | | | | | |
| | | | | | | |
| | | screen | | screen | | screen |
4000h+--------+ +--------+ +--------+ +--------+
| Bank 0 | | Bank 4 | | Bank 4 | | Bank 4 |
| | | | | | | |
| | | | | | | |
| | | | | | | |
0000h+--------+ +--------+ +--------+ +--------+
Jest to opisane w linku który podałem trochę wyżej ;)
Abrimaal:
Czy to znaczy, że używając OUT 32765, 16 do 23 mogę załadować 2 screeny do przełączania pod 16384, przełączać tymi samymi wartościami i w ogóle nie przejmować się, że mogą wejść na mój kod?
Czy bank 0 jest rownoznaczny Main RAM, np. w debuggerze Spin, czy Main RAM, to zawartość tego, co jest akurat aktywne?
Banki mają po 16kB, screen ma niecałe 7. Domyślam się że banki podłączane pod 16384 podmieniają RAM do 32767, w tym zmienne systemu i Basic. Czy tylko sam ekran?
Czy ta ostatnia mapa nad moim postem dotyczy tylko modeli +2 +3?
Dalthon:
--- Cytat: Abrimaal w 2018.03.25, 15:47:19 ---Czy to znaczy, że używając OUT 32765, 16 do 23 mogę załadować 2 screeny do przełączania pod 16384, przełączać tymi samymi wartościami i w ogóle nie przejmować się, że mogą wejść na mój kod?
--- Koniec cytatu ---
tak - tzn. że możesz przełączać 2 screeny ale pod 16384 jest tylko jeden - ten z bank 5, drugi jest pod adresem 49152 (bank 7). Oczywiście jeśli przełączysz na bank 5, to wyświetlany będzie z 16384 ale dane od 16384-32767 będą identyczne z 49152-65535
--- Cytat: Abrimaal w 2018.03.25, 15:47:19 ---Czy bank 0 jest rownoznaczny Main RAM, np. w debuggerze Spin, czy Main RAM, to zawartość tego, co jest akurat aktywne?
--- Koniec cytatu ---
nie używam debuggera Spina więc nie potwierdzam ale podejrzewam że raczej bank 0...
--- Cytat: Abrimaal w 2018.03.25, 15:47:19 ---Banki mają po 16kB, screen ma niecałe 7. Domyślam się że banki podłączane pod 16384 podmieniają RAM do 32767, w tym zmienne systemu i Basic. Czy tylko sam ekran?
--- Koniec cytatu ---
nie... nie... nie... tak jak pisałem zmiana banków dotyczy adresów pamięci 49152-65535 (w standardzie, bo o special mode nie mówimy). W zależności od ustawienie bitu 3 wyświetla się obraz z 16384-23295 lub 49152-56063 (bank7). Zmienne systemowe, BASIC czy bufor drukarki jest na swoim niezmiennym miejscu.
--- Cytat: Abrimaal w 2018.03.25, 15:47:19 ---Czy ta ostatnia mapa nad moim postem dotyczy tylko modeli +2 +3?
--- Koniec cytatu ---
tylko +2a i +3 - bo już +2 ma standardową mapę 128K
trojacek:
--- Cytat: Dalthon w 2018.03.25, 15:11:20 ---Uprzedziłeś moją odpowiedź :) A co do special mode, to nie mieszaj chłopakowi i mówimy tutaj o rozwiązaniach kompatybilnych ze wszystkimi modelami 128K :)
--- Koniec cytatu ---
Jak dobrze, że Cię tu mamy na forum :) Mogłem się bez nerwów oddać długiemu spacerowi po Madrycie. No ale teraz... Muszę to napisać. Po prostu muszę.
+2a/b i +3 nie są do końca zgodne z toastrakiem i szarakiem. Dość istotną różnicą - bardziej w przypadku dem niż gier - jest fakt, że inne banki są contended. W toastracku i szaraku contended są 1, 3, 5 i 7. W nowszych - nie pamiętam, ale jest to inna kombinacja. Można sobie wyobrazić, co się zacznie dziać, gdy w pamięci contended odpali się kod robiący jakieś sztuczki na obrazie... Piszę z telefonu, więc nie chce mi się guglać po szczegóły, ale na WoS jest wszystko ładnie opisane.
Dalthon:
--- Cytat: trojacek w 2018.03.25, 17:47:19 --- No ale teraz... Muszę to napisać. Po prostu muszę.
+2a/b i +3 nie są do końca zgodne z toastrakiem i szarakiem. Dość istotną różnicą - bardziej w przypadku dem niż gier - jest fakt, że inne banki są contended.
--- Koniec cytatu ---
ale nikt nie pisał że są zgodne :) mowa była o mapie banków :D Z racji na zróżnicowanie które banki są contended a które nie w konkretnym modelu, nikt kodu "wrażliwego" na ten fakt nie trzyma w innym banku niż 2 czy 0.
Nawigacja
Idź do wersji pełnej