Ono to čtení kláves má několik triků. Většina kláves se čte přes dekodéry 3->8 bitů. Potom jsou BREAK, SHIFT a CONTROL čtené odděleně. A aby toho nebylo málo, tak START, SELECT, OPTION se čtou úplně jinak (a RESET taky - i když Atari nemá úplně standardní RESET).
A navíc: kódy kláves neodpovídají ATASCII. U her to asi nevadí, u nějakých textových vstupů je lepší využít služby OS (asi taky budou popsány).
To je pravda, a byly tam i nějaké "escape-triky", které nevím, na jaké úrovni systému byly - jestli to bylo vlastní OS nebo to byla specialita BASICu okopírovaná i do TurboBASICu. Třeba to mazání obrazovky, kurzor na začátek obrazovky apod. A pak naopak jak tuto spec. funkci "oeskejpovat", aby se neprovedla, ale zapsala jako spec. znak, aby mohla být někde v příkazu PRINT.
Jsem na ten díl o klávesnici zvědavý :)
Paddle byl pro mě vždycky magická věc: nikdy jsem ho neviděl a nikdy ani nepotkal nikoho, kdo by ho viděl. Zato mi to neustále ponoukalo fantazii, že je přeci skvělé mít na portech vyvedené 4 analogové převodníky. Ale pak ve finále jsem dotáhl jen to světelné pero v Alfigrafu :)
Nicméně opět se tu opakuje ta práce s externím čipem pomocí registrů. Tahle zkušenost mě po mnoha letech zachránila, když mi všichni kolem říkali, jak na Arduinu musím použít hromady knihoven apod. a samozřejmě mi to nefungovalo dohromady. Pak mi kamarád řekl: "Neblázni a vzpomň na Atárko, jak bys to dělal tam?" - a měl pravdu. Vzal jsem do ruky ty tři datashety a za chvíli jsem měl hotovo.
Ale zpět k POKEY: byl navržený na 4 joystickové porty, tj. 8 analogových "pinů", ale v řadách XL a XE byly fyzicky vyvedené jen 2 porty. Nepoužívaly se ty dva zbývající na něco jiného interního? Už si po letech nepamatuju...
Jo, a ten kód z Altiry je uříznutý o jeden řádek, ne? Mám pocit, že na začátku chybí LDX #3.