Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Пример шестнадцатеричного программного кода MLX, напечатанного в журнале Compute !'s Gazette.

Программа для ввода или список для ввода - это компьютерный исходный код, напечатанный в журнале или книге для домашнего компьютера . Он должен был вводиться с клавиатуры считывателем, а затем сохраняться на кассете или гибком диске . В результате получилась игра, утилита или приложение, которые можно было использовать.

Введите в программах были широко распространены в домашней компьютерной эры с конца 1970 - х и до начала 1990 - х годов, когда RAM из 8-битных систем была измерена в килобайтах , и большинство владельцев компьютеров не имеют доступа к сети , такие как системы доски объявлений .

Такие журналы, как Softalk , Compute! , ANALOG Computing и Ahoy! посвящал большую часть каждого выпуска программам для набора текста. Журналы могли содержать несколько игр или других программ за небольшую часть стоимости приобретения коммерческого программного обеспечения на съемных носителях , но пользователю приходилось тратить до нескольких часов на ввод каждого из них. Большинство списков были либо на системном диалекте BASIC, либо машинный код . Программы машинного кода представляли собой длинные списки десятичных или шестнадцатеричных чисел, часто в форме DATAоператоров на БЕЙСИКЕ. [1] В большинстве журналов было программное обеспечение для проверки ошибок, чтобы убедиться, что программа набрана правильно.

Программы ввода не переносились на 16-битные компьютеры, такие как Amiga и Atari ST, в значительной степени, поскольку и программы, и данные (например, графика) стали намного больше. Стало обычным делом включать 3 + 1 / 2- дюймовые дискеты в каждый выпуск журнала.

Описание [ править ]

Читатель брал распечатанную копию списка программ, например, из журнала или книги, садился за компьютер и вручную вводил строки кода. Компьютеры той эпохи автоматически загружались в среду программирования - даже команды для загрузки и запуска предварительно упакованной программы на самом деле были командами программирования, выполняемыми в прямом режиме . После ввода программы пользователь сможет запустить ее, а также сохранить на диск или кассету для использования в будущем. Пользователям часто предлагали сохранить программу перед ее запуском, поскольку ошибки могут привести к сбою.требуется перезагрузка, которая сделает программу безвозвратной, если она не была сохранена. Простая программа, показанная выше, является тривиальным примером: многие типы вводов были полнофункциональными играми или прикладным программным обеспечением, иногда конкурирующим с коммерческими пакетами.

Наборы обычно писались на БЕЙСИКЕ или на комбинации БЕЙСИК-загрузчика и машинного кода . В последнем случае коды операций и операнды части машинного кода часто просто задавались как операторы DATA в программе BASIC и загружались с помощью цикла POKE , поскольку немногие пользователи имели доступ к ассемблеру . [a] В некоторых случаях была предусмотрена специальная программа для числового ввода машинного кода. Программы с компонентом машинного кода иногда включали списки языков ассемблера для пользователей, у которых были ассемблеры и которые интересовались внутренней работой программы.

Обратной стороной вводов была трудозатратность. Работа, необходимая для ввода шрифта среднего размера, составляла порядка часов. Если полученная программа не пришлась по вкусу пользователю, вполне возможно, что пользователь тратил больше времени на ввод программы, чем на ее использование. Кроме того, ввод текста был подвержен ошибкам как для пользователей, так и для журналов. Это было особенно верно для частей машинного кода программ BASIC, которые были не чем иным, как строкой за строкой операторов DATA. В некоторых случаях, когда версия ASCII, используемая на типе компьютера, была опубликована для включения печатаемых символов для каждого значения от 0 до 255, код мог быть напечатан с использованием строк, содержащих глифы, на которые были сопоставлены значения, или мнемоника, такая как [SHIFT-R], указывающая пользователю, какие клавиши нажимать.В то время как BASIC-программа часто останавливалась с ошибкой из-за неправильного оператора, части машинного кода программы могли выходить из строя не отслеживаемыми способами. Это затрудняло правильный ввод программ.[b]

Чтобы противостоять сложности ввода с клавиатуры, монитор машинного кода MIKBUG для Motorola 6800 конца 1970-х годов включил контрольную сумму в свои шестнадцатеричные списки программ. [2]Позже некоторые журналы разработали собственные программы контрольных сумм. Было много разных стилей программы контрольной суммы, обычно в зависимости от типа вводимой программы и сложности контрольной суммы. Контрольные лета были проприетарными и, как правило, печатались в каждом номере журнала. Основное различие заключалось в том, запускалась ли контрольная сумма только один раз, когда программа была полностью введена, или она использовалась в интерактивном режиме. Первый тип либо считывает набранный компьютерный код с диска, либо считывает его непосредственно из памяти (этот тип контрольного числа обычно вручную добавлялся в конец программы на BASIC). Программа контрольной суммы будет печатать контрольную сумму для каждой строки кода. Журнал печатал правильные контрольные суммы рядом с листингом, и пользователь сравнивал их, чтобы выявить ошибки.Более продвинутые программы контрольных сумм использовались в интерактивном режиме. Они брали строку кода при вводе и немедленно производили контрольную сумму, которую можно было сравнить с распечатанным листингом. Однако пользователи должны были сами правильно вводить программы контрольных сумм.

Например, Compute! и Compute! 's Gazette печатали списки BASIC для « Автоматического корректора » (для проверки строк BASIC) и « MLX » (для двоичных данных) в каждом выпуске, который содержал программы для ввода в этих форматах. После того, как пользователь правильно ввел «Автоматический корректор», он запустил свой способ проверки «MLX» и других программ.

Помимо ручного труда по вводу текста, некоторые журналы нередко печатали листинги низкого качества, представляя читателю почти неразборчивые символы (особенно в случае, когда данные машинного кода были напечатаны с использованием расширенных глифов ASCII вместо операторов DATA) ; Обычно это происходило при переносе вывода списка с широко распространенных в то время 7–8-контактных матричных принтеров непосредственно на печатные машины - иногда даже без красивой печати . Это было особенно неприятно для списков, которые содержали графические символы, представляющие управляющие коды , используемые, например, для перемещения курсора ; такие символы были менее разборчивыми, чем буквенно-цифровыев первую очередь. Дополнительные проблемы возникли после появления BASIC, которые не требовали номеров строк, поскольку журнал разбивал логические строки на физических строках из-за нехватки места, а без номеров строк различие не всегда было очевидным. Вычислить! даже какое-то время использовала рукописную стрелку для обозначения возврата каретки в своих списках программ. Конечно, некоторые ошибки при вводе текста были результатом ошибки программиста и были просто ошибками в программе. Журналы часто выпускали уведомления об ошибках, чтобы исправить неверные списки в последующих выпусках.

Существовали и другие решения для утомительного набора, казалось бы, бесконечных строк кода. Авторы-фрилансеры писали большинство программ для ввода в журнал и в сопроводительной статье часто предоставляли читателям почтовый адрес, чтобы отправить небольшую сумму ( обычно 3 доллара США ) для покупки программы на диске или магнитной ленте. К середине 1980-х годов, осознавая этот спрос со стороны читателей, многие журналы, издаваемые в США, предлагали печатные копии всех выпусков на дополнительном диске, часто с одной-двумя бонусными программами. Некоторые из этих дисков стали самостоятельными электронными изданиями, пережив родительский журнал, как это произошло с Loadstar . Некоторые британские журналы иногда предлагали бесплатный гибкий диск, который воспроизводился на проигрывателе.подключен к кассетному входу микрокомпьютера. Другие методы ввода, такие как Cauzin Softstrip , были опробованы без особого успеха.

Не все наборы были долгими. Колонка журнала Run "Magic" специализировалась на однострочных программах для Commodore 64. [3] Эти программы часто были графическими демонстрациями или предназначались для иллюстрации технических особенностей архитектуры компьютера; текст, сопровождающий графические демонстрационные программы, избегал бы явного описания результирующего изображения, побуждая читателя ввести его. [4]

История [ править ]

Программы для ввода текста предшествовали эре домашних компьютеров. Как писал Дэвид Х. Ахл в 1983 году:

В 1971 году, когда я работал менеджером по образовательной продукции в Digital Equipment Corp. , я призвал к разработке игр образовательные учреждения по всей Северной Америке. Я был потрясен ответом. Я выбрал лучшие игры и собрал их в книгу « 101 базовая компьютерная игра» . Собрав книгу в свободное время, я убедил сопротивлявшихся менеджеров DEC опубликовать ее. Они были уверены, что это не продастся. Он, а также его продолжение More Basic Computer Games было продано более полумиллиона копий, что доказывает, что люди заинтригованы компьютерными играми. [5]

Большинство ранних компьютерных журналов публиковали программы для набора текста. Профессиональные и бизнес-ориентированные журналы, такие как Byte и Popular Computing, печатают их реже, часто в качестве тестовой программы для иллюстрации технической темы, освещаемой в журнале, а не приложения для общего пользования. [6] Публикации, ориентированные на потребителя, такие как Compute! и Family Computing опубликовали по несколько выпусков для каждого выпуска. Иногда программы были специфичны для данного домашнего компьютера, а иногда были совместимы с несколькими компьютерами. Журналы, полностью ориентированные на платформу, такие как Compute !'s Gazette ( Commodore ) и Antic ( Atari).), поскольку им нужно было распечатать только одну версию каждой программы, они могли печатать больше и более длинные листы.

Хотя программы с вводом текста обычно охраняются авторским правом, как и многие игры в BASIC Computer Games , авторы часто рекомендовали пользователям изменять их, добавляя возможности или иным образом изменяя их в соответствии со своими потребностями. Многие авторы использовали статью, сопровождающую вводы, чтобы предложить читателю и программисту модификации. Иногда пользователи отправляли свои изменения обратно в журнал для последующей публикации. [7] Это можно считать предшественником программного обеспечения с открытым исходным кодом , но сегодня в большинстве лицензий с открытым исходным кодом указывается, что код должен быть доступен в машиночитаемом формате.

В 1985 году Antic заявила, что ее сотрудники «тратят значительную часть нашего времени, усердно просматривая входящие заявки для практических прикладных программ. Мы получаем множество программ-каталогов на диске, хранилищ файлов рецептов, мини-текстовых процессоров и других переработанных версий старых идей». . [8] В то время как большинство вводов были простыми играми или утилитами и, вероятно, лишь недолго удерживали интерес пользователя, некоторые из них были очень амбициозными и конкурировали с коммерческим ПО. Пожалуй, самым известным примером является текстовый редактор SpeedScript , выпущенный Compute !'s Gazette and Compute! для нескольких 8-битных компьютеров, начиная с 1984 года. Вычислить! также опубликовал SpeedScriptвместе с некоторыми вспомогательными программами в виде книги. Он сохранил последователей в следующем десятилетии по мере того, как пользователи улучшали и добавляли к нему возможности.

Вычислить! прекратили ввод программ в мае 1988 года, заявив: «По мере того, как компьютеры и программное обеспечение становились все более мощными, мы поняли, что невозможно предлагать высококачественные программы ввода для всех машин. И мы также понимаем, что вы менее склонны к введите эти программы ". [9] По мере того, как стоимость кассет и дискет снижалась, а изощренность коммерческих программ и технические возможности компьютеров, на которых они работали, неуклонно росли, важность печатного ввода уменьшалась. В Европе ленты / диски для обложек журналов стали обычным явлением, а печатные издания практически перестали существовать. В Северной Америке, набор текста оставался популярным для 8-разрядных компьютеров вплоть до 1990-х годов, хотя набор для 16 / 32-разрядных компьютеров быстро исчез. Некоторые журналы по программированию или технические журналы продолжали время от времени печатать короткие фрагменты кода для инструкций, но эти 10–20-строчные сегменты не могли считаться программами для ввода в надлежащем смысле.

Хотя типа программ исчезли сегодня, традиция распространения программного обеспечения с журналами жила, особенно в Европе, с 3 + 1 / 2 " дискетами , включенных в журналах на протяжении большей части 1990 - х лет, в конечном счете , затем CD-ROM и DVD - дисках .

См. Также [ править ]

  • Микро-приключение

Заметки [ править ]

  1. ^ Списки BBC Micro и Acorn Electron , чья BASIC ROM включала ассемблер , обычно представлялись в виде ассемблерного кода, что давало несколько больше шансов обнаружить ошибки и облегчало опытным пользователям изменение программы. Эй! журнал также был известен тем, что печатал листинги ассемблерного кода, хотя он охватывал платформу Commodore 64 , которая не включала ассемблер.
  2. ^ Примером иногда слишком длинных вводов, которые можно было встретить, было расширение BASIC для Commodore 64, опубликованное в финском журнале MikroBitti ; часть машинного кода программы составляла 20 страниц, заполненных цифрами, которые читатель мог безупречно ввести в компьютер.

Ссылки [ править ]

  1. Гаага, Джеймс (10 февраля 2010 г.). «Оптимизация шума вентилятора» . Программирование в двадцать первом веке .
  2. Стэнфилд, Дэвид Э (июнь 1979 г.). «Мой компьютер работает в лабиринтах» . Байт . п. 86 . Проверено 18 октября 2013 года . CS1 maint: обескураженный параметр ( ссылка )
  3. ^ "Run Magazine Special Issue 1986" .
  4. ^ "Выпуск журнала RUN 35" .
  5. ^ Ахль, Дэвид Х. « Editorial. » Креативная Вычислительные Видео и аркадные игры , весна 1983.
  6. ^ "Высокоскоростной ввод-вывод текстового файла на языке Паскаль, байт, январь 1983 г." .
  7. ^ "Выпуск журнала RUN 39, март 1987 г. Страница 78" .
  8. Фергюсон, доктор Джон К. (май 1985 г.). "Пивная вечеринка Атари" . Античный . п. 43 . Проверено 7 января 2015 года . CS1 maint: обескураженный параметр ( ссылка )
  9. ^ Кейзер, Грегг (май 1988 г.). «Редакционная лицензия» . Вычислить! . п. 4 . Проверено 10 ноября 2013 года . CS1 maint: обескураженный параметр ( ссылка )

Внешние ссылки [ править ]

  • Полный текст классическим шрифтом в программных сборниках
  • Архив классического компьютерного журнала
  • ФАНТАСТИЧЕСКИЙ ТИП (TTFn): Архив программ набора журнала Sinclair  - Джим Гримвуд; оригинальный архив Майкла Бруна
  • Список книг о вводных играх Commodore 64
  • Первая встреча: ВЫЧИТАЙТЕ! журнал и его великолепный, утомительный вводный код - Нейт Андерсон; Ars Technica