xxl napisał/a:test na to czy to jest atari? po co? jak masz kod nie dla atari to robisz test na obecnosc procesora jakiego wymagasz :-)
Ja przykładowo zrobiłem test tego SBX, skoro mi zadziałał i to nawet pod Atari BASIC, to dla mnie kończy się temat, bo poznałem coś nowego, zobaczyłem, że działa, możliwe, że kiedyś sobie przypomnę, gdyby było to potrzebne do czegoś, lub mogło coś poprawić w programie.
Już nawet miałem pomysł przy przepisywaniu tych dużych bloków pamięci, jak zestawy znaków z ROM do RAM - zamiast przepisać wprost to samo, można dodać, albo podmienić rozkazem, żeby CPU przepisał zestawy od razu zmieniając je na jakieś inne czcionki, albo robić animacje czcionek, albo tak samo w grafice punktowej, szybkie przeliczenia dużych obszarów pamięci zamiast kilkoma rozkazami, można by jednym lub dwoma, przykładowo - takie widzę zastosowanie ewentualne tych rozkazów - z tego, co widać w opisach, czyli skomplikowane operacje jednym rozkazem - to zawsze jakoś da się wykorzystać, kiedy da się zauważyć jakieś sekwencje charakterystyczne w programie - i nagle okazuje się, że jakiś rozkaz z tych nieoficjalnych robi to samo od razu, zamiast trzema oficjalnymi, lub więcej.
To dla mnie tyle w tym temacie. Dzięki za wszystkie ciekawostki, które poznałem. Wystarcza mi. Nie przeszkadzam więcej.
==
Dodatkowo przyszła mi do głowy oczywista rzecz w sumie, że można by zrobić w drugą stronę zabawę z tymi rozkazami, że zamiast szukać jakichś sekwencji w programach "na czuja", żeby coś zamienić nieoficjalnymi, można by opisać te nieoficjalne wszystkie po kolei, jakie są w sposób sekwencji rozkazów oficjalnych - nie wiem, czy nie powtarzam czegoś, co mogło już być w tym temacie, bo to oczywisty pomysł pewnie, oczywiste, no ale dopóki moje zaciekawienie mi daje pomysły, no to tyle mogę, że napiszę, to zostanie dla innych zaciekawionych przynajmniej, hmm...
Przykładowo ten SBX, bo akurat mi zadziałał, więc skoro robi A and X i odejmuje daną, wynik zostawia w X, no to oficjalnie byłoby jakoś (mniej więcej):
LDA (do akumlatora)
AND (zrobienie and z liczbą w pamięci)
SBC (odjęcie liczby)
TAX lub podobny (z A do X)
I jeszcze znaczniki - czy same się ustawiają na oficjalnych tak samo, jak od razu tym SBX, czy trzeba dodatkowo jeszcze znaczniki poustawiać, więc kolejne rozkazy na dodatek, hmm...
Czyli jak by nie było minimum 8 do 10 cykli, żeby zrobić SBX na oficjalnych, oczywiste.
SBX ma 2 cykle, no więc...
I teraz pomysł jest oczywisty, że gdyby wszystkie nieoficjalne opisać najlepszym kodem oficjalnym, czyli standardowo, można by wszystkie istniejące programy w maszynowym przetestować po sekwencjach opisujących kody nieoficjalne i dla każdej sekwencji znalezionej podstawić jeden rozkaz nieoficjalny.
Czyli wyszedłby taki automat do przerabiania exe lub asm hurtem na to samo, ale z użyciem nieoficjalnych. Proste, oczywiste...
No tyle, co mi wpadło do głowy jako oczywiste. Może ktoś to kiedyś sprawdzi i zrobi, bo to jest jakaś zabawa przynajmniej ciekawa, tak mi się zdaje, ale mogę się mylić, oczywiste.