Maczałem swoje paluchy w tym regulaminie. Ponieważ słuchałem różnych argumentów Pina postaram się wyjaśnić może niektóre kwestie, ponieważ myślę że każdy zapis regulaminowy ma swoje motywacje:
I. "Używamy tylko udokumentowanych rozkazów procesora 6502C, unikamy błędów opisanych w http://atariki.krap.pl/index.php/6502 ". Zapis ma na celu uszanowanie osób które w Atari mają zamontowany procesor inny niż fabryczny, lecz zgodny z oficjalną listą rozkazów 6502. Czy są one mniejszością, czy większością to nie ma znaczenia. Ponieważ jest nas wszystkich raczej dość mało, to chodzi po prostu o to, żeby jak największa ilość osób nie miała problemu z uruchomieniem pracy na swojej maszynie - czy to będzie fabryczne Atari, czy zmodyfikowane.
II.2. "Prace będą prezentowane w stereo. Jeśli muzyka pisana jest w mono, a tracker umożliwia pracę w stereo proszę zdublować podstawowego POKEY-a przepisując wartości w songu na drugi układ". Zapis ma na celu uszanowanie posiadaczy Atari rozszerzonego o drugi układ POKEY, jak również partyzantów, żeby na kompotach nie zastanawiać się jak tu poprzełączać audio żeby dźwięk nie poleciał z jednego głośnika, nie wysłuchiwać protestów Autorów i nie powtarzać odtwarzania.
IV. "Praca musi działać z rozszerzeniami pamięci typu CompyShop oraz Rambo". Znowu chodzi o uszanowanie posiadaczy rozszerzeń i eliminację sytuacji, że program maluje krzaki bo programista zapomniał że istnieją rozszerzenia typu Rambo.
V. "Loader plików wykonywalnych obsługuje wyłącznie ładowanie do pamięci podstawowej ($0000..$BFFF), program w postaci .XEX używający pamięci dodatkowej (CompyShop oraz Rambo) lub pamięci pod ROM-em powinien samodzielnie zatroszczyć się o inicjalizację lub przepisanie danych do takich obszarów np. w bloku inicjalizacyjnym z pamięci podstawowej". Chodzi o uszanowanie osób posiadających zamontowane różne rozszerzenia pamięci oraz (być może) VBXE i korzystających z różnych DOS-ów. Priorytety pamięci bankowanej mogą być w różnych rozwiązaniach różne, loadery mogą być różnie napisane, i nie można polegać na tym, że zapisanie w bloku pliku .XEX wartości bezpośrednio pod rejestr sprzętowy spowoduje, że ta wartość tam będzie do końca świata. Lepiej (a na pewno bezpieczniej) zapanować nad działaniami systemu i inicjalizować sobie co trzeba kawałkiem programu.
Oczywiście pominięto kwestie np. rozszerzeń Sim4MB, Axlon, VBXE, stereo z przerwaniami itp., żeby nie tworzyć epopei.
Zapisy mają na celu nie utrudnienie życie Programiście, a ułatwienie życia Użytkownikowi - w końcu nie każdy user zna się na bebechach i kodowaniu a chciałby od czasu do czasu coś fajnego zobaczyć. Nawet mając w sprzęcie rozszerzenia o których działaniu wie może tylko tyle, że dają fajne możliwości (dźwięk, obraz, szybkość).
Zwróćcie też uwagę, że wiele punktów regulaminu uwzględnia sytuacje wyjątkowe (źródła prac) i sugeruje pewne rozwiązania (stereo mono).
Atari jest komputerem o fajnej rozszerzalnej architekturze i Programista nie może go traktować, jak zamkniętą konsolę do gier bo ucierpi na tym zawsze użytkownik. Programista, jako starszy i mądrzejszy powinien zadbać o wygodę Użytkownika, bo on pisze program raz, a Użytkownik uruchamia go wiele razy.
hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje