Chciałbym rozpocząć dyskusję na temat perspektyw i odczuć wobec zastosowania w komputerze Atari XE procesora 65816. Wydaje mi się, że w ten sposób stworzymy jego pełniejszy obraz i będziemy w stanie dotrzeć do większego grona osób. Zgodnie zresztą z ideą samego forum.
Zacznijmy może od wątpliwości, jakie się pojawiają, kiedy zastanawiamy się, czy takie przedsięwzięcie wogóle ma sens. Czy zastosowanie nowego procesora nie pociągnie za sobą skutków w postaci niekompatybilności dotychczasowego oprogramowania, czyli że programy użytkowe i demonstracyjne nie przestaną wogóle, czy też prawidłowo, działać. Mamy tutaj do czynienia z dwojakim problemem, dotyczącym zarówno innego repertuaru instrukcji nowego procesora, jak i jego szybszego działania. Nowe instrukcje zajmują pozycje nielegalnych instrukcji procesora 6502, które, na szczęście, nie znalazły praktycznego zastosowania. Niemniej programy, które je stosowały, z pewnościa po wymianie procesora przestaną działać zgodnie z założeniami autorów, co oznacza, że w większości przypadków programy te nie będą się nadawać do użytku. Jednak, chciałbym zapytać na ile ten problem jest poważny. Skłonny jestem wierzyc, że podobnych programów jest na prawdę niewiele. Poza tym programy te można przywrócić do użytku nawet z tym nowym procesorem, odpowiednio mdyfikując jego kod, co nie jest wcale rzeczą nie do wykonania, jakby mogło się niekiedy wydawać. Ale o szczegółach może kiedy indziej... Na koniec tego wątku, posłużę się pewnym mocnym argumentem. Istnieje emulator Atari XE, który emuluje atari z procesorem 65816 i z moich obserwacji jego działania, wynika, że programy napisane pod 6502 wykonują się dobrze.
Przy tej okazji oczywiście bardzo wszystkich zachęcam do odwiedzienia strony z tym emulatorem. http://www.magelair.com/atari_8bit_stuff.htm
Po skonfigurowaniu emulatora, mamy możliwość włączenia "turba" (lewy alt - T), co w jakimś stopniu pozwola nam na wyobrażenie sobie, jak programy z szybszym procesorem mogłyby działać. Należy się jednak w tym miejscu uwaga, że owe turbo nie odpowiada rzeczywistości pod względem dopasowania do częstotliwości pracy nowego procesora, a jedynie przyspiesza emulację atari do granic możliwości sprzetu emulującego - PC.
W ten sposób docieramy do poważniejszego problemu zastosowania procesora 65816 w atari, mianowicie do tego, w jaki sposób szybszy procesor wpływa na nieprawidłowe działanie programów, szczególnie tych wykorzystujących zależności czasowe zachodzące między procesorem 6502 a innymi układami, w tym szczególnie z Antic'iem. Jest to bardzo poważny problem, bez którego rozwiązania, wydaje się, nie będzie zgody na wprowadzenie nawet gotowych rozwiązań w życie. Oczywiście ten aspekt sprawy starają się rozwiązać Ci, którzy nad tym projektem pracują - wiem, że są takie osoby! Słyszałem, że w przeszłości rozważano możłiwość przełączania częstotliwości pracy procesora 65816 właśnie w celu zapewnienia maksymalnej wierności przy wykonywaniu programów napisanych specjalnie dla 6502. Słyszałem, że wówczas rozważano przełaczanie trybu szybkości pracy w zależności od stanu znacznika procesora określającego tryb pracy procesora 65816 - emulacja czy natywny. Byłoby to chyba rozwiązanie dobre i wygodne, ale nie jestem pewien czy na pewno najlepsze i wogóle osiągalne, bo czy stan znacznika procesora można wogóle w prosty sposób określić? Znacznie może efektywniejszą formą przełączania szybkości pracy procesora byłby specjalny przełącznik, bo pozwalałby też na pracę z tymi programami, w trybie emulacji, które by nie wymagały zmniejszenia częstotliwości zegara głównego procesora, aby prawidłowo działąć.
Oczywiście rozważania te wyglądają na czysto teoretyczne i pewnie nie wzbudzają większych nadziei, ale w tym miejscu chciałbym poruszyć pewnien ciekawy wątek. Mianowicie, o czym chyba niewielu wie, na C64 istnieje rozwiązanie pozwalające przystosować tamten komputer do pracy z procesorem 65816 (uwaga przy zegarze nie nawet 14 ale 20Mhz!), przy zachowaniu wszystkich tych zastrzeżeń, o których pisałem wyżej, a więc możłiwość przełączania częstotliwości pracy procesora 65816 między oryginalną w C64 a 20Mhz. Żeby nie przedłużać ponad granice przyzwoitości podam tylko strony skąd można dowiedzieć się wiele na temat tego jak działa to urządzenie. Może powiem jeszcze tylko o tym, że jest to rozwiązane w sposób zewnętrznego modułu dołączanego do portu komputera i istnieje możliwość wyłączenia procesora 65816 na rzecz umożliwienia pracy temu staremu wciąż obecnemu w komputerze.
http://www.privat.kkf.net/~milo.mundt http://www.cmdweb.de/scpu.htm