Temat: Projekt "WERONIKA"
www.serious-dial.atari.pl
To teoretyczne rozważania, poparte częściowymi próbami, zaczyna działać.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Silly Venture 2024 SE - stuff Dostępny jest już stuff z zeszłomiesięcznego party Silly Venture 2024
FujiCup FujiCup ma na celu wspieranie sceny gier retro, dając uczestnikom szansę na pokazanie swojego talentu
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!
Zaloguj się lub zarejestruj by napisać odpowiedź
www.serious-dial.atari.pl
To teoretyczne rozważania, poparte częściowymi próbami, zaczyna działać.
Jest dopałka Pasia bedzie i dopałka Zenona :-)
Czyżby jakieś PhysiX w przyszłości miało być ?
Ostatnio edytowany przez BartoszP (2009-03-11 07:55:24)
ooo, zobaczyłem światełko w tunelu :)
Jak ma być na kartridżu to nawet nie będzie jęków, że "to już nie jest atari" (bo to nie jest atari, tylko kartridż do atari ;)). Interesuje mnie kwestia czy to będzie bardziej jako dopałka, czy bardziej jako platforma do gier z dopalaczami (że ktoś może sobie napisać pod to grę i wydać itp, jak Corina). Bo jeżeli to pierwsze, to w EPROMie powinien być tylko boot (taki mały BIOS) dla drugiego procesora, a software powinien być swobodnie ładowany z atari. Ogólnie okno komunikacji może być małe (8k starczy) ale RAMu na karcie powinno nie brakować. No i jaki procesor dałoby się do tego zaprzęgnąć? Może ten fan-made RISCowy wariant 6502 na FPGA, którego można pędzić jak szybko się chce?
No, znowu COŚ ciekawego. To wyglądą na dopałkę do gier (m.in).
Czy będzie miała swój SRAM/EEPROM 512kB jak Corina? A może Weronika to rozwinięcie Coriny z procesorem?
A czy to będzie cart przelotowy (odpadnie na carcie SDX)?
Czy wersja do wbudowania do Atarki, mogła by przełączać sobie bloki 16kB także z EXT RAM 1MB ?
Wtedy byłoby superastycznie !!!
Osobiście jestem zwolennikiem wstawienia nowego procka w natywną przestrzeń adresową 6502 (ukłon w stronę 65816), niż domontowywaniem cartridgea z dodatkowym prockiem. Oczywiście, czy Zenon będzie rozwijał tego typu rozwiązanie, to jego wybór, ale ja na takie rozwiązanie nie piszę się... wydaje mi się, że droga odnośnie "przyspieszenia Atarki" została wytyczona już dawno: 65816 mający dostęp do pełnej przestrzeni adresowej natywnego procesora i w tym kierunku należy iść. A powstawanie tego typu "pół-środków" spowoduje, że każdy zacznie tworzyć własny standard i z czasem powstanie wielki chaos, bo ktoś napiszę grę/demo/użytek, który nie ruszy bez rozszerzenia "A", ktoś inny zrobi coś co nie ruszy bez dopałki "B", a nagle część softu nie ruszy bez dopałki "C" i w pewnym momencie okaże się, że dopałki "B" i "C" nie mogą egzystować w jednym komputerze, bo wykorzystują te same zasoby.
Osobiście jestem zwolennikiem wstawienia nowego procka w natywną przestrzeń adresową 6502 (ukłon w stronę 65816), niż domontowywaniem cartridgea z dodatkowym prockiem.
Niektórzy widać tak kochają bankowanie pamięci, że bez tego "to już nie jest Atari" :P No i nie, sorry, tylko nie kolejny typ rozszerzenia RAM-u, jak to ma być kart, to niech nim zostanie...
1. http://pl.wikipedia.org/wiki/WDC_65816/65802 bo wydaje sie to byc w prostej linii nastepca 6502 i latwo sie na niego 'przestawic'
2. http://pl.wikipedia.org/wiki/Atmel_AVR duzo mocy, niski koszt, duzo narzedzi programistycznych, latwo sie przestawic
3. http://pl.wikipedia.org/wiki/Zilog_Z80 srednia moc, spory zasob juz istniejacego oprogramowania
laoo: ktory 6502 fpga? pokalinka
Z80 = CP/M .... no prawie....
Jak ma być na kartridżu to nawet nie będzie jęków, że "to już nie jest atari" (bo to nie jest atari, tylko kartridż do atari ;)).
Zawsze będą takie zastrzeżenia i słusznie, bowiem to "nie jest Atari". Teoretycznie można tam wsadzić co się chce - P4, Geforce GTX 280, itp. zboczenia, ale nie o to oczywiście chodzi. Zalety rozwiązania w postaci cartridge'a są znane i nie warto powtarzać argumentacji.
Interesuje mnie kwestia czy to będzie bardziej jako dopałka, czy bardziej jako platforma do gier z dopalaczami (że ktoś może sobie napisać pod to grę i wydać itp, jak Corina).
Pierwotnie coś w stylu koprocesora. Nie jest to pełny komputer, z własymi układami specjalizowanymi, ani też jeden układ do ściśle zawężonych zadań. Aby móc zastosować go do bardziej zaawansowanych gier, w domyśle z lepszą, różnorodną grafiką, potrzebne będzie rozszerzenie idei i powiększenie dostępnej pamięci na CAR. Na razie nie ma sensu o tym dyskutować, dopóki nie będzie fizycznego prototypu z przykładowym programem, łechtającym wyobraźnię.
Bo jeżeli to pierwsze, to w EPROMie powinien być tylko boot (taki mały BIOS) dla drugiego procesora, a software powinien być swobodnie ładowany z atari.
Taka jest właśnie idea.
Ogólnie okno komunikacji może być małe (8k starczy) ale RAMu na karcie powinno nie brakować.
Czym więcej, tym lepiej. Oczywiście w tym konkretnym przypadku - max 16 kB w przestrzeni adresowej CAR. Wielkość ma znaczenie, bowiem będzie można umieścić bezczelnie w tym obszarze dane dla Antic'a.
No i jaki procesor dałoby się do tego zaprzęgnąć? Może ten fan-made RISCowy wariant 6502 na FPGA, którego można pędzić jak szybko się chce?
Praktyczny sens ma 6502, 65816, ażeby za daleko nie odbiegać od klimatu maluszka oraz dotychczasowych doświadczeń.
Aktualizacja:
A powstawanie tego typu "pół-środków" spowoduje, że każdy zacznie tworzyć własny standard i z czasem powstanie wielki chaos, bo ktoś napiszę grę/demo/użytek, który nie ruszy bez rozszerzenia "A", ktoś inny zrobi coś co nie ruszy bez dopałki "B", a nagle część softu nie ruszy bez dopałki "C" i w pewnym momencie okaże się, że dopałki "B" i "C" nie mogą egzystować w jednym komputerze, bo wykorzystują te same zasoby.
Określenie półśrodek bardziej pasuje do projektów ingerujących w strukturę wewnętrzną komputera. Nie jest to naturalny, zaprojektowany przez producenta sposób rozbudowy komputera.
Poza tym, w czym problem, że będzie więcej rozwiązań, możliwość wyboru? Niech potencjalni użytkownicy zdecydują co jest lepsze i co stanie się standardem.
Ostatnio edytowany przez Marek Konopka (2009-03-11 16:32:41)
procek w karcie może pomykać bez ograniczeń związanych z układami towarzyszącymi aktualnemu 6502 i to upraszcza sprawę, aktualne dopalacze WARP i F7 miewały problemy ze stabilnością działania, zależną od konfiguracji sprzętu albo i od czynników niewiadomego pochodzenia
kart to inne podejście do tematu, które może przyczynić się do upowszechnienia np. 65816
jesli wybor pada na 6502/65816 no to mamy jasnosc ze nie bedzie to rozwiniecie Coriny, bo nie wyobrazam sobie do kazdego karta doplacac za procesor (obecne procki ktore mozna kupic w 'kiosku' za 5zl sa wydajniejsze od najmocniejszego 65816). idea jest jak najbardziej sluszna tylko dobrze by bylo, zeby jednak ten nowy kart nie kolidowal z corina.
Przypisanie bitów rejestru sprzętowego mogłoby być takie
Bit0=0 SRAM A - 6502, SRAM B - 6502K
Bit0=1 SRAM A - 6502K, SRAM B - 6502
Bit1=0 6502K przetwarza dane, 6502 odczytuje go i sprawdza, czeka
Bit1=1 6502K zakończył przetwarzanie, 6502 przyjął do wiadomości
Bit2=0 6502 robi swoje
Bit2=1 6502 jest gotowy do przełączenia pamięci
Do ustalenia adres rejestru sprzętowego który powinien być do zapisu i do odczytu
Jakby nie patrzeć, jeżeli to zadziała to będzie to monstrum elektroniczne ze względu na ilość potrzebnych scalaków
To czy pamięć będzie 2x8kB cz 2x16kB z elektronicznego punktu widzenia nie ma znaczenia, bo ilość scalaków się nie zmieni.
Oczywiście to projekt, idea, więc wszelkie och, ach, i beee są niepotrzebne i nic nie wnoszą.
Konop zaoferował swoją pomoc w tworzeniu próbnego oprogramowania (zresztą nie od dziś)
Największy ból sprawia pytanie, czy zespół pamięci A i pamięci B poprawnie będzie pracował zarówno na niskiej częstotliwości jaki i na wysokiej.
xxl
CORINA to najnormalniejszy cart z JEDNĄ pamięcią. Wprowadzony dodatkowy dekoder dzieli ją na EPROM, SRAM i EEPROM nic więcej.
Konflikt może zachodzić po stronie rejestru sprzętowego, CORINA ma go pod adresem $D500 więc rejestr WERONIKI musi być w innym miejscu
Gdyby to wszystko nie było tak skomplikowane (elektronicznie) można by w CORINIE wydzielić jeden blok 16kB w pamięci SRAM i podmieniać go w/g zasady opisanej dla WERONIKI.
Ostatnio edytowany przez Zenon/Dial (2009-03-11 19:10:55)
projekt wielce ciekawy. imho jedyny sluszny koncept na rozszerzenie malucha. postac carta moze sprawic, ze stanie sie to popularne (brak klopotow z instalacja). tylko zeby to przelotowe bylo (sparta).
acha, pieknie, a skad te 6502?
Candle - biorąc pod uwagę ile ostatnio Atarek zostało rozebranych dla drugiego Pokey'a, sprawnego GTIA.... to procki raczej nie powinny być problemem.....
to fakt, sam mam troche tych sallych, ale uwazam, ze nie ma co brnac w uklady, ktorych nie mozna kupic
65816 powinienem tez w tym ukladzie skreslic, bo firma ktora go produkuje, jakos nie jest do konca przekonana o tym, ze nalezy go sprzedawac, no ale coz - mysle ze najmadrzejsza rzecza jaka mozna dla atari zrobic to porzadny dopal i to nie w ilosci sztuk 2
aktualne dopalacze WARP i F7 miewały problemy ze stabilnością działania
Skądże znowu.
Kart ma ograniczenia wynikające z jego natury. Szybki procesor szybko policzy np. tablicę sinusów czy obrót obiektu w przestrzeni, ale to "normalna" dopałka w rodzaju Warpa czy F7 też zrobi. Za to procek na karcie, nie mając DMA, nie będzie mógł wykorzystać swojej szybkości do np. zapisu danych na ekran, a to z kolei "normalny" dopał w rodzaju F7 czy Warpa, przy programie uruchomionym w faście, może jak najbardziej. Czyli w tym drugim wypadku mamy wszystkie zalety tego pierwszego, ale bez wad. Osoby kręcące nosem na ingerencję do środka komputera, założę się, mają oczywiście gołe 130XE, albo rozszerzenia pamięci na zewnętrznych modułach :P
i sa dumni ze swojej plomby...
Skądże znowu.
Na własne oczy przekonałem się w Głuchołazach, że jest inaczej - na komputerze Pin'a.
Za to procek na karcie, nie mając DMA, nie będzie mógł wykorzystać swojej szybkości do np. zapisu danych na ekran
Jak już wspominałem, piękno tego rozwiązania polega na tym, że możemy pamięć Antic'a ulokować pod przełączanym obszarem CART'a. Przy odpowiedniej strukturze tego obszaru oraz odpowiedniej obsłudze jest to jak najbardziej osiągalne.
a to z kolei "normalny" dopał w rodzaju F7 czy Warpa, przy programie uruchomionym w faście, może jak najbardziej.
W przypadku Weroniki jest lepiej, bowiem ją własny procesor nie obciąża. Wiadomo - coś kosztem czegoś (większych problemów z implementacją, mniej pamięci na resztę zastosowań poza buforem graficznym).
Osoby kręcące nosem na ingerencję do środka komputera, założę się, mają oczywiście gołe 130XE, albo rozszerzenia pamięci na zewnętrznych modułach :P
Sprzęt rozszerzony wyłącznie w celach wygody development'u (RAM, QMEG), niedawno świadomie ogołocony z Freezer'a oraz Covox'a, a autorskie dema napisane na fabryczne komputery.
Ostatnio edytowany przez Marek Konopka (2009-03-12 00:22:50)
@Marek Konopka: pinek nie ma w komputerze ani Warpa ani F7.
Jak już wspominałem, piękno tego rozwiązania polega na tym, że możemy pamięć Antic'a ulokować pod przełączanym obszarem CART'a.
A, że tak zapytam z głębi mojej (powszechnie chyba znanej) niewiedzy na ten temat: od kiedy to na złączu carta jest sygnał HALT, żeby zapobiec konfliktowi pomiędzy zapisem danej do pamięci ekranu przez dodatkowy procesor a żądaniem dostępu do tejże pamięci przez Antic?
@Marek Konopka: pinek nie ma w komputerze ani Warpa ani F7.
Może to nie był komputer Pin'a, ale z pewnością obsługiwał on komputer z takowym rozszerzeniem. O szczegóły musielibyśmy poprosić jego samego.
od kiedy to na złączu carta jest sygnał HALT, żeby zapobiec konfliktowi pomiędzy zapisem danej do pamięci ekranu przez dodatkowy procesor a żądaniem dostępu do tejże pamięci przez Antic?
Procesor na CAR nie będzie odwoływał się kiedykolwiek do pamięci (banku), którą wyświetla Antic. Pamięć na której pracuje z maksymalną prędkością procesor CAR jest traktowana jako późniejszy bufor ekranu, który zostanie w stosownym momencie przełączony w przestrzeń adresową 6502, więc Antic będzie zjadał cykle wyłącznie 6502 przy dostępie do pamięci, do której nie będzie miał juz dostęp procesor CAR.
Jako że liczba i lokalizacja działających Warpów (sztuk 1) i F7 (sztuk pierwotnie 2, obecnie 1) jest dokładnie znana, raczej nie mogłeś widzieć w akcji żadnej z tych dopalek ani tym bardziej stwierdzić ich stabilności (bądź niestabilności). Osobiście mogę tylko powiedzieć, że w poprawnie wykonanych egzemplarzach obydwu dopałek żadnych niestabilności nie stwierdza się.
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ć. 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? Bo jakoś nie widzę jak to można zrobić sprzętowo. 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?
Fascynujący i jakże naturalny, zaprojektowany przez producenta sposób rozbudowy komputera.
Krap budował Warpa-a i nie działał stabilnie, mimo że u Laoo działa pierwszy egzemplarz, Pasiu podejrzewa że to wina dodatkowych rozszerzeń, jednak ma też pomysł jak zmodyfikować Warpa w celu podniesienia jego niezawodności
p.s.
ktoś to testował ?
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE http://www.wwsi.edu.pl/files/MaciejGrzeszczuk.ppt
Ostatnio edytowany przez tebe (2009-03-12 01:20:09)
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.151 sekund, wykonano 16 zapytań ]