swinkamor12 napisał/a:Adam Klobukowski napisał/a:Nie porównujesz szybkość kodu emulowanego z natywnym na różnych platformach.
Zgadza się w obu przypadkach kod big endian.
Zmieniasz front, bo Ci BartoszP wtyknął? To nadal nie ma znaczenia, to są zupełnie inne procesory i nadal porównujesz na jednym kod emulowany, a na drugim nartyny.
swinkamor12 napisał/a:Adam Klobukowski napisał/a:No własnie nie zawsze, bo choćby na PowerPC masz problem z data aligment - odczyt danych spod adresu który pod 68K zadziała
bezproblemowo, na PowerPC wywróci aplikację.
Aż sprawdziłem te rewelacje. Masz złe informacje. Na PowerPC działa bez problemu.
To słabo sprawdziłeś. Na PowerPC, próba odczytania 32 bitowej wartości z adresu który nie jest podzielny przez 4 spowoduje błąd, na 680x0 możesz sobie czytac 32 bitowe wartości spod adresów podzielnych przez 2, a na 68020+ spod dowolnego adresu (tu musi być jednak wsparcie płyty głównej, i Amiga jest chyba w tym temacie ułomna)
swinkamor12 napisał/a:Big/little endian nie powoduje żadnej komplikacji - poza ta którą ty tu wymyślasz. Little endian, big endian - nie ma żadnej różnicy pod względem łatwości emulacji.
Jak jesteś takim praktykiem, to pokaż proszę praktyczny przykład gdzie to sprawia problemy.
Dane tekstowe, dane graficzne.
Nie wiesz czy ładując 4 bajty spod danego adresu, powinieneś je zamienić czy nie.
Amigowe c2p na przykład.
A bez przeróbek na procesorze big endian będzie działać zawsze.
Nie ma znaczenia jakie dane. Emulator przy odczycie konwertuje little-big endian wszystkie dane, bo tak się ich spodziewa aplikacja. I nie ma znaczenia czy to będzie grafika, muzyka, tekst, czy cokolwiek innego.
Co więcej, pomijając emulatory, praktycznie każdy transfer danych przez internet jest robiony w big-endian (większość protokołów sieciowych przesyła bajty w kolejności big endian). I każda aplikacja na każdej platformie sobie z tym doskonale radzi i nie musi wiedzieć nic na temat danych które transferuje. Poczytaj trochę jak to działa, to przestaniesz rozpowiadać nieprawdę.
Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio