- PVSM.RU - https://www.pvsm.ru -

Игры для TI-82

Привет! Это продолжение первой [1] статьи, и сегодня я поговорю об играх и других программах, которые были написаны для этого калькулятора.

Сначала писали софт на Бейсике. Файлы копировали с калькулятора на компьютер через линк-кабель, после чего публиковали на ticalc.org [2] и других сайтах. Калькулятор использует довольно быстрый процессор Z80 (с тактовой частотой 6 MHz), но получение прямого доступа к нему долгое время не представлялось возможным.

Всё изменилось в 1997 году, когда в прошивке калькулятора была найдена функция, позволявшая выполнять произвольный код. Калькулятор имел способность создавать и восстанавливать дампы памяти (т.е бекапы) с помощью компьютера, к которому он был подключён. Но это касалось только пользовательской, а не системной памяти. Долгое время выполнение кода на этой модели считалось невозможным, пока один исследователь не наткнулся на переменную, в которой был записан адрес обработчика клавиатуры. Если хитрым способом её переписать на адрес программы в памяти, процессор перейдёт туда, как только будет нажата любая кнопка.

На этом основываются все шеллы (оболочки для выполнения программ на ассемблере) для TI-82, а именно: OS-82, ASH, CrASH, ACE, SNG.

OS-82 и ASH — одни из первых. После них появился CrASH, который является самым популярным. Самые новые шеллы — ACE (вышел в 2002 году) и SNG (вышел в 2005), но они не пользуются особой популярностью, так как эту модель калькулятора больше не выпускают и мало людей теперь пишут программы под неё.

Речь пойдёт именно о CrASH. Этот шелл поставляется в виде файла бэкапа, который следует загрузить в калькулятор (осторожно, это сотрёт все данные).

Для этого мы воспользуемся программой TiLP [3], так как Texas Instruments больше не выпускают ПО для старых моделей.

Она доступна на Windows, Mac и Linux, и является единственной программой для связи с калькуляторами, которая до сих пор поддерживается.

Подключаем кабель (у меня это — TI SilverLink), запускаем программу. Скорее всего, калькулятор она не опознает и будет ругаться, так что придётся задать параметры самому.

Открываем File → Change Device. Настроить следует, как на картинке:

communication settings

Теперь мы увидим следующее:

tilp

Для начала нам нужно загрузить CrASH. Для этого можно воспользоваться ссылкой: CrASH [4].

Есть некоторые версии калькуляторов с ROM версии 19.006. Если у вас эта версия — вам не повезло, так как очень мало программ её поддерживают. Но если вы хотите попробовать — загрузите CrASH для 19.006 [5]. Проверить версию можно, нажав последовательно [MODE], [ALPHA], [LN] с домашнего экрана.

Будет показано что-то вроде (скриншот из этого меню сделать не получилось):

Enter Self Test?
19.0

Где 19.0 — это ваша версия ROM. Нажмите [CLEAR], чтобы не продолжать тест, так как он стирает память при её проверке.

В архиве с CrASH будет файл crash.82b (crash19006.82b). Его следует загрузить в калькулятор. Для этого его следует включить, и нажать следующюю последовательность кнопок: [2nd] [X, T, Θ] (LINK), после чего перейти в раздел RECEIVE и нажать [1]:

receive

В TiLP следует выбрать File → Restore и выбрать файл бекапа. Программа предупредит о перезаписи данных, выберите OK, после чего об этом спросит калькулятор, отвечайте аналогично. После передачи нажмите [2nd] [MODE] (QUIT), чтобы выйти из меню.

Для загрузки программ в калькулятор действия те же, только вместо Restore, надо выбрать Send Files.

После успешной загрузки вы увидите:

crash

Теперь самое время загрузить программы в калькулятор. Игры: TI-BASIC [6], CrASH [7].

Программы на Бейсике идут без CrASH (но и с ним тоже), для их запуска нужно выбрать имя, нажав [PRGM] для открытия меню. Для запуска ассемблерных программ нужно сначала запустить CRASH из того же меню. Запустив CrASH, вы должны увидеть пустой список программ:

no programs

Выходим из CrASH, нажав [2nd] [MODE] (QUIT). Пробуем загрузить на калькулятор программу. Хорошая игрушка — ZTris [8] (тетрис). Распаковав архив, загрузив её на калькулятор способом, описанным выше и запустив CrASH, мы видим:

image

Скриншот из работающей программы сделать не получится, поэтому вот скриншот от автора:

image

На ticalc.org великое множество программ и игр [9] для этого калькулятора, так что вы можете попробовать что-нибудь сами.

Кстати, для удаления программ вы можете использовать [2nd] [+] (MEM) → Delete… → Prgm… Там же можно удалить и прочие данные. Если у вас стоит CrASH, не стирайте CRASH и матрицы a и b. Калькулятор начнёт глючить, так как там записана часть кода.

Я даже написал пару программ на Бейсике сам, посмотрите пожалуйста, если хотите: вычисление π [10], игра на реакцию [11].

Автор: SopaXT

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/texas-instruments/192580

Ссылки в тексте:

[1] первой: https://geektimes.ru/post/280830/

[2] ticalc.org: http://www.ticalc.org

[3] TiLP: http://lpg.ticalc.org/prj_tilp/

[4] CrASH: http://www.ticalc.org/pub/82/asm/shells/crash.zip

[5] CrASH для 19.006: http://www.ticalc.org/pub/82/asm/shells/crash19006.zip

[6] TI-BASIC: http://www.ticalc.org/pub/82/basic/games/

[7] CrASH: http://www.ticalc.org/pub/82/asm/games/crash/

[8] ZTris: http://www.ticalc.org/archives/files/fileinfo/204/20447.html

[9] программ и игр: http://www.ticalc.org/pub/82/

[10] вычисление π: http://www.ticalc.org/pub/82/basic/math/pinteractive.zip

[11] игра на реакцию: http://www.ticalc.org/pub/82/basic/games/arcade/reflex/reaction.zip

[12] Источник: https://geektimes.ru/post/280850/