C64Power Forum
Ogólne => Forum Ogólnodyskusyjne => Wątek zaczęty przez: janikjgora w 25 Sierpnia 2009, 00:26
-
Witam czy jest moze jakis emulator atari 2600 na C64 ?? moze pod Geosem ?? nic nie moge znalesc Pozdrawiam
-
Nie, nie ma. Geos został stworzony trochę do innych celów. Poza tym to dodatkowa warstwa separująca od sprzętu. Pamiętaj że to sprzęt 8 bit i zależności czasowe są krytyczne.
Chociaż jeśli chodzi o emulację jednego sprzętu 8 bitowego na drugim, to jest to możliwe. Na Atari XL/XE powstały emulatory: Apple II (ten sam procesor 6502) oraz co ciekawsze ZX Spectrum (procesor Z80). I nie chodzi tu tylko o Basic. Kwestia samozaparcia.
-
Atari 2600 - proc 1,19 MHz, 128 kolorów
C64 - 0,985 MHz (ew. 1,023) , 16 kolorów
Procesory w Atari2600 i C64 ma to samo jądro. No i teraz powiedz, jak na wolniejszym sprzęcie chcesz emulować szybszy.
Uprzedzam pytanie - NES był jeszcze szybszy. SNES tym bardziej.
-
kurcze slyszalem o carcie na Atari bodajze Crocodile na ktorego mozna zamiescic wiele gier wiecie moze gdzie mozna go kupic. Czy tylko pozostaja mi originalne gry kupywac na aukcjach i Flohmarkach :(
-
Komodorek jest rzeczywiście wspaniały, jeżeli już uznajemy z góry że może on emulować inne kompy
Nawet pecety długo nie były w stanie dobrze emulować 8 bitowce
-
@KB777
Czemu nie da się emulować na wolniejszym szybszy ? Będzie to działać po prostu jeszcze wolniej.
Z80 w ZX Spectrum ma zegar 3.5Mhz, a 6502 w Atari 1,77 MHz a jednak emulator powstał. http://tiny.pl/hhvm1
-
Badania archeologiczne dowodzą, że 1 MHz 6502 (a 65c02 tym bardziej) dorównuje prędkością 3-4 MHz Z80. Ale przy tak różnych architekturach, pozostaje coś a`la dynamiczna rekompilacja...
Ja tam większego sensu emulowania czegoś z prędkością 20% czy 40% nie widzę...
Na C64 lepiej już emulować VICa 20 albo KIM1 ;)
-
Jest emu vica20 na c64
-
kupilem atari 2600 specjalnie w celu \'zabawy\' w budowanie wlasnych cartow badz rozwiazan umozliwjajacych transferwopanie w jakis magicnzy sposob do \'udawanego\' carta gierek (czy to po rs232 z pc czy z karty SD) no ale o ile zbudowanie czegos takiego jest jak najbardziej realne, to ciezko z czasem ;)
-
Kwestia jak wierna ma być emulacja. Jeśli \'cycle-exact\' to niestety sprzęt musi być zazwyczaj szybszy. Problemem są zależności czasowe oraz synchronizacja różnych zdarzeń. W c64 doskonałym przykładem jest synchronizacja z rastrem aby pewne efekty były możliwe. Zobaczcie ile lat ludzie piszący VICE`a czy Hoxs`a walczą z tym problemem. Z drugiej strony: nawet C128 w trybie C64 nie jest w 100% kompatybilny z oryginalnym C64 (że o problemach z 1571 w trybie 1541 w C128D nie wspomnę).
-
2sam: jezeli emulator jest w pelni \'cycle exact\' to teoretycznie nie powinien miec zadnych problemow z synchronizacja z rastrem. emulowany jest kazdy cykl wiec kazde zdarzenie mozesz umiejscowic na dowolnej pozycji rastra a zatem mozliwa jest dowolna synchronizacja. z dwoch emulatorow ktore wymieniles fundamentalne(tzn wynikajace z architektury emulatora) problemy z synchronizacja moze miec w pewnych przypadkach Vice poniewaz by zuzywac mniej mocy procesora nie wszystkie funkcje Vic-a sa emulowane we wszystkich wymaganych cyklach,np. niektore wlasciwosci sprajtow,pobieranie pikseli do wyswietlenia w poszczegolnych kolumnach w danej linii rastra albo kolory ktore Vic generuje \'pod ramka\'. w praktyce nie powoduje to wiekszych szkod bo ujawnia sie stosunkowo rzadko ale w zupelnosci wystarcza by odpowiedni program mogl sie \'zorientowac\' ze nie dziala na prawdziwym sprzecie. nawet w emulatorze w pelni \'cycle exact\'(jak np.Hoxs) moga byc pewne problemy z synchronizacja wynikajace z tego ze jakas czynnosc wywolywana jest np.o cykl zbyt wczesnie lecz jezeli taki problem istnieje to wynika to wylacznie z niewiedzy o jego wystepowaniu(bo z reguly pojawia sie rzadko,w specyficznych warunkach) a nie ograniczen emulatora- ergo taki problem moze byc naprawiony np.poprzez wyciecie funkcji z cyklu 58 i wrzucenie jej do 57. jest to juz jednak kosmetyka,nie wplywa w zaden sposob na wymagania sprzetowe emulatora i na tym etapie jest to juz nieslychanie rzadko wymagane by jakis praktyczny efekt byl mozliwy- z reguly raczej by usunac z niego jakies mniejsze lub wieksze przeklamanie.
-
Chodziło mi o to, że nie możesz na wolniejszym lub porównywalnym sprzęcie emulować z dokłądnością co do cyklu innej architektury (i nie chodzi mi tutaj tylko o taktowanie zegarów CPU). Jako uzasadnienie podałem właśnie problem synchronizacji z rasterem. Jeśli emulator jest cycle-exact to nie powinno z tym być żadnych problemów oczywiście. Oczywiście wszystko powyższe to generalnizowanie problemu więc proszę się nie czepiać. Chciałem tylko wytłumaczyć kolegom dlaczego na c64 są problemy z emulacją innych maszyn.
Co do wywoływania przerwań w określonym miejscu / cyklu to nawet w C64 pojawił się podobny problem w różnych wersjach układów CIA. Niektóre wersje generują przerwanie wcześniej. Oto link: http://www.codebase64.org/doku.php?id=base:detecting_6526_vs_6526a_cia_chips&s[]=cia