Loader z wykrzyknikiem
From Atariki
Boot Cassette Maker to program użytkowy służący do kopiowania plików binarnych DOS-u z dyskietki do postaci bootowalnej na kasetę. Loader zwany wykrzyknikiem, będący efektem działania tego programu, jest powszechnie znany użytkownikom magnetofonów.
Program został wydany w 1982 roku przez Nudmehi Software i był sprzedawany w cenie $29,95. W oryginalnej postaci działa poprawnie tylko na komputerach 400/800. W 2014 roku Voy przygotował wersję działającą także na modelach XL/XE.[1]
Program pozwala wybrać plik binarny z dyskietki w napędzie 1-4, który to plik jest potem zapisywany na kasecie. Przed plikiem binarnym Boot Cassette Maker nagrywa na taśmie 6-blokowy inicjalizer, którego zadaniem jest odczyt i uruchomienie nagranego po nim pliku binarnego.
Wspomniany 6-blokowy loader zyskał w latach 80. XX w. ogromną popularność - wykorzystywało go wiele pirackich gier. Z powodu wyróżniającej go cechy - znaku wykrzyknika wyświetlanego w prawym dolnym rogu ekranu - loader ten jest łatwo rozpoznawany przez każdego użytkownika magnetofonu.
Technikalia
Jeśli zadać sobie trud przeanalizowania kodu loadera z wykrzyknikiem, wyjdzie na jaw, że jest on napisany przez niezbyt dobrego programistę. Przede wszystkim, ten program mógłby być o dwa rekordy krótszy (ma pięć), co przy taśmie jest zyskiem nie do pogardzenia.
Po drugie zaś loader z wykrzyknikiem w zasadzie cudem tylko działa na komputerach serii XL/XE, gdyż korzysta ze skoków do niektórych procedur OS serii 400/800, które to procedury w ROM-ie XL/XE znajdują się, rzecz jasna, gdzie indziej. Niezdrowym objawem tego jest właśnie sławny, pojawiający się na ekranie wykrzyknik (ściślej: niezdrowym objawem jest nie jego pojawienie się, lecz to, że na ekranie pozostaje, chociaż powinien natychmiast zniknąć).
Loader również nieprawidłowo reaguje na obecność cartridge'a - powinien wyświetlić komunikat i zatrzymać ładowanie, zamiast tego program się po prostu zawiesza. Przyczyna jest ta sama - nielegalny skok do systemu pod adres, który w komputerach XL/XE jest dla spodziewanej tam procedury nieaktualny.