Temat: Wydajność blittera VBXE
Jak długo trwają operacje wykonywane przez blitter VBXE? Np. kopiowanie 128x128? Czy Altirra wiernie emuluje czas trwania tych operacji?
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Echa Silly Venture 2024 SE Są już dostępne wyniki Silly Venture 2024 SE
Uaktualnienie firmware do The400 Poprawki do "fizycznego" emulatora ośmiobitowych komputerów i konsol Atari.
Akcja - Wsparcie w reverse-engineering Wspierajmy tych, którzy do tej pory zrobili wiele!
Silly Venture 2024 SE - program Do rozpoczęcia kolejnej letniej edycji Silly Venture pozostało już mniej niż 2 tygodnie
Echa Lost Party 2024 Jak zwykle ekspresowo, są już dostępne wyniki Lost Party
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Jak długo trwają operacje wykonywane przez blitter VBXE? Np. kopiowanie 128x128? Czy Altirra wiernie emuluje czas trwania tych operacji?
to zalezy od bardzo wielu czynnikow
max to 4096 cykli cpu, ale moze byc i wolniej, w zaleznosci od tego co robi reszta vbxe
VBXE ma zegar 14 MHz (8 x f6502)
Zwykłe kopiowanie trwa 2 cykle 14MHz na bajt.
Wypełnianie stałą wartością trwa 1 cykl na bajt.
Kopiowanie z przeźroczystością i sprawdzaniem kolizji od 2 do 3 cykli na bajt (blitter stara się optymalizować dostęp do pamięci i usuwać zbędne operacje).
W grę jeszcze wchodzi sprzętowy zooming poziomy - wówczas blitter odrobinę przyspiesza kopiowanie, biorąc tylko raz jedną próbkę źródłową.
Dodatkowo blitter zużywa około 22 cykli na pobranie BCB i uruchomienie żądanej operacji.
Dodatkowo blitter jest urządzeniem slave szyny VRAM VBXE, więc wszelkie operacje typu:
- pobieranie XDL / XDLC,
- pobieranie mapy atrybutów,
- pobieranie grafiki i fontów do wyświetlenia,
- dostęp 6502 do VRAM (MEMAC A/B)
w pierwszej kolejności dostają przydział cykli zegara 14MHz. Blitter używa tych, które zostaną wolne.
Czyli zależy co jest włączone i używane i jak wygląda obraz generowany przez VBXE to zostaje mniej lub więcej cykli dla blittera.
Przy wyłączonym XDL gdy VBXE wyświetla tylko to, co natywnie produkuje Atari blitter ma dla siebie pełną przepustowość VRAM.
Altirra coś tam się stara emulować, ale wierna nie jest ponieważ nie ma 100% dokładnego opisu zachowania blittera.
Ostatnio edytowany przez electron (2012-07-22 10:26:00)
Dziękuję za wyczerpującą odpowiedź. Nie spodziewałem się tak dużej wydajności. :-)
Nasuwa się następne pytanie: czy dostępy 6502 do VRAM mogą kolidować z pobieraniem grafiki itp.?
Nie mogą, jest to tak zaprojektowane, że dla grafiki cokolwiek byś nie robił, zawsze starczy czasu.
blitter Altirry jest szybszy od tego prawdziwego
Ostatnio edytowany przez tebe (2016-05-17 10:42:20)
To jest fakt, ten program wyświetla sprajty tylko na emulatorze, natomiast na prawdziwym sprzęcie nie. Niezależnie od procesora, taktowania itd.
Mad Pascal 1.3.4 http://mads.atari8.info
najnowsza wersja kompilatora tworzy kod działający na prawdziwym VBXE, '\examples\vbxe'', 'examples\sv2k16\'
dodatkowo jest przyjazna SDX BANKED, bo okno VBXE umieszczane jest od $b000..$bfff
Ostatnio edytowany przez tebe (2016-06-03 10:18:27)
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.065 sekund, wykonano 7 zapytań ]