Я много программировал на Apple (не профессионально, но это то, чему я научился), а также на Applesoft BASIC и ассемблере, где это было для любителей. Были доступны другие языки - логотип был распространен, Паскаль был написан повсюду, но я не знаю никого, кто использовал его, я не знал, что C используется на любой платформе Apple до Orca C для Apple IIGS, был Forth переводчик с графикой в стиле черепахи (или назовите ее в стиле логотипа) тоже плавает вокруг.
Я отвечу на некоторые ваши вопросы, а затем основные идеи:
Можете ли вы вспомнить популярные игры, написанные на бейсике? Как насчет C?
Много общего программного обеспечения было написано на BASIC, не только Applesoft BASIC, но и Integer BASIC (который, как следует из названия, не имел чисел с плавающей запятой). На ум приходит серия Eamon, но я не могу думать о многих других. Кроме того, большая часть программного обеспечения, написанного Beagle Bros., была сделана на бейсике (в основном утилиты, а не игры).
Я считаю, что большинство коммерческих программ написано на ассемблере.
Но я не могу представить, что игры были написаны так, были ли редакторы / IDE? Как программы хранились на дисках / лентах?
Я использовал Merlin Assembler, чтобы назвать его IDE, возможно, это растягивало, но это работало просто отлично. Как вы сказали, вы можете зайти на системный монитор, ввести коды операций и запустить оттуда. У Мерлина был способ вернуться к нему с системного монитора (чего я сейчас не помню).
Но не было ли визуального редактора?
Был сторонний инструмент, который немного улучшил среду Applesoft и позволял вам использовать стрелки для прокрутки экрана и вносить изменения, такие как визуальный редактор (вам все равно приходилось нажимать клавишу возврата в конце строки или изменения не будут придерживаться). Я не могу вспомнить, что это было, я использовал это совсем немного.
Или нужно было все время разговаривать напрямую с оборудованием, если вы хотите что-то нарисовать или воспроизвести звук? Были ли библиотеки вообще?
На Apple II + / IIe / IIc вы в основном говорили только с аппаратным обеспечением. В ПЗУ было несколько программ, которые вы могли использовать, но они были очень ограничены, и обычно вам требовалось ПИК и ПОКРЫТЬ различные области памяти, чтобы изменить регистры, чтобы делать то, что вы хотели, например, изменить графические режимы, нажать 49152 для запуска динамика и т. Д. ,
На Apple IIGS ROM поставлялся с набором библиотек, аналогичных тем, что были в Macintosh, для создания необычных графических интерфейсов и тому подобного. ПЗУ со временем обновлялись, и если вы загрузили системный диск, на котором использовались более новые библиотеки, они читали бы с диска, а не с ПЗУ, в результате чего время загрузки становилось ДЕЙСТВИТЕЛЬНО МЕДЛЕННЫМ. Было ROM 01, 02 и 03, и 02 -> 03 было бесплатным обновлением, и был выпуск до 01, который они также сделали бы бесплатное обновление до 01.
Я был бы рад услышать любые другие различия, например, какие форматы изображения / аудио использовались. Учитывая, что на самом деле не было концепции файлов, если я правильно понимаю, мне интересно, как это работает. Приходилось ли печатать графику и звуки на ассемблере? Как это работает в бейсике?
Были файлы, я не уверен, что вы подразумеваете под этим, и ProDOS не меньше поддерживал каталоги (более ранняя DOS не имела, но все еще имела концепцию файла, который вы могли бы распознать). Я использовал растровые изображения и .pcx. Я не помню никаких аудиофайлов в сериях II + / IIe / IIc, но это было потому, что было трудно сделать какие-либо шумы более причудливыми, чем вспышки видеоигр и шлейфы. Были некоторые хаки, которые издавали причудливые звуки (в частности, у меня был диск с игрой Gun N 'Roses), но это почти всегда делалось грамматически.
По сравнению с современной средой это было совершенно примитивно. Но помните, что не было поддержки для одновременного запуска нескольких программ, поэтому ваш компилятор фактически должен был быть и вашим редактором - вы не могли спорить о преимуществах vi по сравнению с emacs, поэтому независимо от того, что дал вам ваш компилятор, ты научился использовать. Я действительно думаю, что это было намного проще, чем использовать библиотеки, сложенные на библиотеках, и есть много хитростей, если вы работаете с оборудованием и знаете, что это такое. Например, общей реализацией «паузы на мгновение» было «для (int i = 0; i <1000; i ++)» (в BASIC это отличается), которое никогда не используется сейчас, потому что аппаратное обеспечение настолько быстро, что вы потребовалось бы огромное количество, и даже если бы это было не так, оно было бы запущено на разных типах машин, поэтому это была бы другая пауза для разных людей (II +, IIe,
Это все из памяти, я не смотрел ни одной ссылки, когда писал это, поэтому я прошу прощения, если моя память неисправна, и я сказал вам что-то не так. Но я надеюсь, что это даст вам немного вкуса и ответит на несколько ваших вопросов.