drac030 napisał/a:aczej nie mogłeś widzieć w akcji żadnej z tych dopalek ani tym bardziej stwierdzić ich stabilności (bądź niestabilności).
Niech wypowie się zainteresowany, jak było.
drac030 napisał/a:Co do dalszej części: Ok, czyli dodatkowy procesor pisze do pamięci, kiedy jest ona niewidoczna dla Antica, po czym staje się widoczna, ale wtedy procesor nie może do niej pisać.
Może pisać do tego obszaru pamięci, innego bufora obrazu.
drac030 napisał/a:Synchronizacja tego pewnie będzie spoczywać na głównym 6502 atarki, który będzie dodatkowego proca haltował i uruchamiał stosownie do potrzeb. Stwierdzenie, kiedy pamięć jest widoczna dla Antica a kiedy nie, spocznie na jego programie?
O tym decydować będzie 6502 w synchronizacji z VBL.
drac030 napisał/a:Czyli dodatkowy procek będzie działał od złapanego stanu VCOUNT sygnalizującego początek dolnej ramki do stanu sygnalizującego koniec górnej ramki?
Może działać przez prawie całą ramkę, aż do otrzymania sygnału o zmianie bufora ekranu.
Co do halt'owania... Takie samo występuje przy pracy na każdym CPU/buforze pamięci ekranu, aby uniknąć artefaktów wizualnych. Po to stosuje się n-buforowanie, które pozwala na zagospodarowanie sporej części czasu procesora, który byśmy musieli nominalnie przeznaczyć na straty. W przypadku, gdy efekt będzie renderował klatki z częstotiwością wyższą od odświerzania ekranu, nie będzie żadnego problemu. Przy wyższej można skorzystać z n-buforowania. Poza tym, można moc procesora CAR spożytkować na wykonywanie innych czynności niż tylko generacja danych obrazu, także część z tego "straconego" czasu można "odzyskać".
Można oczywiście przerzucać/wyświetlać dane przez kopiowanie. Kosztem obciążenia 6502 i w konsekwencji ryzyka spadku fps'u, możemy skolejkować więcej buforów ekranu w pamięci CAR. Którą metodę wybrać, zależało będzie od charakterystyki czasowej efektu.
Aktualizacja
macgyver napisał/a:W tym momencie ktoś słusznie zwrócił uwagę na to, że po co tym drugim prockiem ma być 6502?
Chęć zachowania po części "ducha" komputerka. Dochodzi również łatwość pisania programów na dobrze znaną platformę.
macgyver napisał/a:Szybkość 6502 jest ograniczona
Szybkość każdego procesora jest ograniczona :>. A na poważnie, w prototypie Zenona jest 6502, ponieważ tak jest mu wygodnie - testowane są najpierw warianty podstawowe, komunikacja/synchronizacja. Jak już wspominaliśmy oboje, nie ma sensu zbyt daleko wybiegać w przyszłość i gdybać, dajmy na to, ile konkretnie mocy będzie można w to włożyć, dopóki pierwsze testy nie pokażą sensowności podejścia na ogólnym poziomie.
Nie wiem jak wygląda sprawa z konkretnymi edycjami układów 6502, ale pamiętam, że ktoś kiedyś wspominał o wyższym taktowaniu tego procesora. Chyba drac cytował korespondencję od osoby, która projektowała wtenczas te procesory i chwaliła się, że można osiągnąć częstotliwości taktowania w okolicach ~10 MHz. Nam na początek tyle nie jest potrzebne. Gdzieś na forum powinien być o tym wątek.
macgyver napisał/a:, a na rynku są ogólnodostępne procesory o większej szybkości - jak już tworzyć coś nowego, to po co ograniczać się do 6502, który tylko lekko wspomoże szybkość systemu, a nie zastosować coś wielokrotnie szybszego, co wykona w tym samym czasie np. 10 razy więcej obliczeń/operacji?
816 pasuje tutaj jak ulał.