epi napisał/a:Z jakiegoś powodu autorzy programowych emulatorów nie mają mentalnego problemu z zaimplementowaniem nieudokumentowanych rozkazów.
To znaczy, tak czysto technicznie rzecz biorąc, jak proponujesz zaimplementować dwie różne listy opkodów w jednym i tym samym scalaku?
Przełączane rejestrem. Na 2 różne listy wystarcza 1-bitowy.
Właśnie na tym polega specyfika Atari, że u nas nielegale były wykorzystywane rzadko. Programy z tego powodu nie działające na 65816 można policzyć na palcach (niekoniecznie jednej ręki, ale jednak). Koderzy do tej pory - z nielicznymi wyjątkami - świetnie radzili sobie bez nich, przez co programy chodziły zarówno na NMOS-owym 6502, jak i na jego wersjach rozwojowych. W imię czego, pytam się, mamy to zmieniać?
Nikt tego, póki co, nie zmienia. Tu się tylko sprawdza, jak działają wraże opkody i poszukuje przypadków użycia. Konsenwencje nieuzasadnionego użycia są dobrze znane i uważam za bezcelowe dalsze ich roztrząsanie.
Ale nie ma sensu oszukiwać samego siebie, że zrobiłeś sprzęt zgodny.
Powiedz to pierwszemu gościowi, który wmontował do peceta 80286 zamiast "klasycznego" i "standardowego" 8086, mimo że na 80286 nie chodzą dokładnie wszystkie programy napisane na 8086. I wyjaśnij mu, teraz, w roku 2012, że robiąc to, głęboko ideologicznie się mylił, gdyż zamiast prawdziwego procesora włożył tam "zmutowany", "niekompatybilny", "emulator" i w związku z tym otrzymał "nieprawdziwego", lub też ewentualnie nawet "niekażdego" peceta. Bo przecież nielegalne rozkazy 8086 działają na każdym IBM PC, nie?
Nie przypominam sobie, żeby producenci pecetów z 80286 wysuwali oskarżenia w stronę programistów 8086 o psucie ich marzeń o podboju rynku. Być może dlatego, że byłem w tych czasach małym dzieckiem, a być może dlatego, że koniec końców pozwolono im umrzeć śmiercią naturalną, albo przerzucić się na nowszy sprzęt. W ogóle całe porównanie jest nieco na wyrost, biorąc pod uwagę techniczne zaawansowanie produktu w dniu wypuszczenia na rynek jak i spodziewane nakłady produkcyjne. ;)
Nie chodzi mi o zasadność, koszerność, prawdziwość, czy nawet aryjskość (lub brak którejś z nich), ani samej płytki Candle'a, ani też procesora, który ma się tam znaleźć. Domagam się jedynie zaprzestania ewangelizacji. Rozwój wymaga czasem palenia mostów (niedawno pisałem też o tym w wątku o C++), a jeśli ktoś upiera się przy pozostaniu po "starej" stronie - jego sprawa i nie wiem po jaką cholerę chcecie go na siłę przeciągać na swoje poletko.