hantarex пишет:я про совместимость и архитектуру PDP-11 и РС.
Буду думать. А насчет с чего начать - думаю, стоит возиться с системой, для которой больше всего софта. И вот здесь я уже запутался:( ДОС, ИКП, СпрайтОС и т.д. и т.п. И, наверное, разные версии для семерки и девятки?
http://agatcomp.ru/Apps/Basicdos.shtml
Если коротко: Бейсик-60 - это адаптированный для агата Applesoft-Бейсик. Просто бейсик, точка отсчёта.
Основная часть адаптации - переделка драйвера видео. Но и кой что остальное: в отличие от Эпловского, понимает hex-числа, имеет встроенный макроассемблер, поддерживает "длинные имена" (имена переменных больше 2 знаков, из-за чего немного изменился и формат хранения программ) и ещё появилась такая забавная, но редко вспоминаемая программистами фича как обращение из бейсик-программы к интерпретатору сисмона (например, за один бейсик-оператор можно перетащить регион данных в ОЗУ).
Запускается в паре с dos33, также адаптированной с эпла, хотя при некотором навыке можно заставить работать их поотдельности.
Цифра 60 в названии - это число блоков, которые занимает файл интерпретатора на диске.
Существует только в версии для семёрки. Теоретически, можно перетащить на девятку, не удивлюсь, если такая версия где-то в природе была, но живьём не видел. Грузится только со 140ки, для 840ки была ветка с 4-томными дисками, неизвестно насколько приличная по качеству работы. Было несколько веток этого бейсика с мелкими изменениями (по мне - так не особо существенными).
ИКП-Бейсик. Название получил от ИКП (Инструментальный Комплекс Программиста), так как появился и распространялся в его составе.
Является глубокой переработкой Бейсика-60. Снаружи почти такой же, но внутри радикально перекроен. Расположение в памяти другое, некоторые операторы полностью изменили смысл. Однако формат программ остался тот же, т.е. он может читать проги бейсика-60 и бейсик-60 может читать его проги. Если никаких хитростей в коде нет, то почти любая программа может работать в любом из интерпретаторов. Однако программ без хитростей не бывает...
Разделить ИКП-Бейсик и соответствующую ДОС ... наверное можно... но нужно лезть в код. Поэтому обычно, под ИКП-Бейсиком сразу подразумевается и соответствующая ему ДОС. Она тоже немного доработана, по сравнению с дос33. Но важно, что она реально работает и грузится как со 140ками так и 840ками.
Может существовать как в составе ИКП, так и автономно. Есть версии как для семёрки так и для девятки, причем вроде бы у них даже в сисмоне адреса процедур совпадают. Т.е. многие проги, которые активно используют код интепретатора и дос должны жить как на семёрке так и на девятке.
Есть несколько версий ИКП-бейсика, но различая между ними, как и номера версий, никому не известны. Теперь уже даже их автору (как мне известно, основной программер был Кривцов).
Био-Бейсик и Сириус-Бейсик. Это расширения к ИКП-бейсику, добавляющие некоторые фичи. Первая добавляет работу с текстом в графическом режиме (а может и что-то ещё), вторая - некоторые удобства при наборе и редактировании программ.
Бейсик Серкова. Коммерческая версия ИКП-бейсика. Исправлен ряд ошибок, добавлена возможность загрузки плагинов, коих Серков написал довольно много, на разные темы и сделал доки для самостоятельного их написания. Версия мало распространена, поскольку не шла в составе Агата. Есть несколько версий. Должна читать проги Бейсика-60 и ИКП-Бейсика.
(NB: понятно, что вы всегда, в любом бейсике могли написать кусок кода на ассемблере и докинуть его в память. И использовать оттуда. Проблема в том, что ни бейсик-60 ни дос33 ни ИКП-бейсик не имели того, что называется "диспетчер памяти".
Т.е. как максимум, можно было указать (ограничить) бейсику регион памяти под переменные. И всё. Вы никогда не могли быть твёрдо уверены, что загрузив два каких нибудь дополнения не убъёте одним другое (потому что у них перекрываются точки загрузки). Так вот Серков в своём Бейсикее как раз таки и ввел диспетчер памяти и динамическую линковку для плагинов: можно было писать и грузить их в любом количестве не опасаясь конфликтов).
Агат-Ассемблер, Агат-Отладчик, Диалоговый Отладочный Комплекс. Я не знаю точной истории развития этих систем, но начинал её Виктор Цикоза, а закончил Александр Голов. Работали на семерке, известны версии только для 140кб флопов. Исключение: ДОК в составе ИКП - он работает на девятке с 840кб флопами. НО! как мне кажется, документация к этой версии так и осталась от семёрочной. Фактически, это было базой (ИДЕ) для разработки РАПИРы и Школьницы. В состав включен компилятор ассемблера, отладчик и текстовый редактор. Грузится всегда автономно от других систем, не имеет расширений/плагинов, но работает очень стабильно и вполне удобна для написания небольших прог. Можно писать и большие, но требуется ряд хитростей. Различия между АА АО и ДОК в том, что ДОК является как бы частью Школьницы (по документам) и грузится на семёрке после выбора в меню, АА - это вроде бы версия без РАПИРЫ и Копировщика (т.е. выделенная на отдельный диск), а АО - это выуженный из ДОК и сильно доработанный отладчик (но без ассемблера и текстового редактора в памяти).
BTK - best tool kit. Операционка от Александра Голова, продолжение предыдущих его работ (см выше), специально разработанная для изучения и адаптации эпловских прог к агату. Вроде как задумывалась больше отладчиком, но по функционалу близка к полноценной ОС (того времени). Т.е. имеет механизмы загрузки/запуска программ, поддержка разных устройств. Начиналась на семёрке со 140кб дисководами; есть мнение, что версии для 840ки и/или девятки были неофициальными (т.е. не от Голова). Но точных сведений нет. Работает с файловой системой структуры ДОС3.3 и её расширением формата ДОС-ИКП (для 840-кб флопов). Может читать двоичные файлы dos3.3, но запустятся они или нет - зависит от их содержимого. Бейсиком внутри никак не пахнет (встречается на дистрибутивных дисках иногда файл basic.exe, но это просто ИКП-бейсик завёрнутый в бинарь, при запуске он выкинет btk из памяти).
SpriteOS - разработка Виктора Цикозы. Существует в версиях для семёрки и девятки, но вроде бы 140кб флопы не поддерживает (хотя я могу ошибаться). Возможно, не умеет с них грузится, но может читать/писать. Физический формат записи совпадает с dos3.3, но логический формат файловой системы совершенно другой (кажется, у них была утилитка, которая позволяет копировать бинарные файлы со структуры dos33 в спрайт). Скорее всего, в основном возникла под влияеним msdos, версии примерно 3.0 (например, названия управляющих структур при работе с файлами у них одинаковые - fcb - file control block. Т.е. до идеи о file descriptor ещё тогда не дошли). Впрочем, возможно это из cp/m. Поддерживает иерархические каталоги, но .... как бы сказать... С точки зрения пользователя более привиредливая, чем msdos. Например, команда "cd test" и "cd test\" для msdos означает одно и то же. А для спрайт-os допустима только "cd test\", если написать без слеша - syntax error. Бейсика под спрайт вроде нет. Но там нормально продумана механника управления памятью, проги могут честно загружаться и выгружаться. И для файловой системы есть какие -то механизмы расширения.
Но спрайт был коммерческой ОС, это привело к его малой распространённости (хотя из альтернативных систем была, наверное, на третьем месте, распространённее неё только BTK). Точно имела компилятор ассемблера и прилично документации.
ONIX - Влад (?) Шевкунов. По рукам ходили демки этой системы, но вот кроме демок ничего не было. Т.е. вроде как по докам она является полноценной ОС, тянутой с какого-то буржуйского компа, и способна запускать всё многообразие его софта... Но вот того софта -то как раз и не было. ОС коммерческая, точно были версии под девятку с 840кб флопами, поддерживает ли что-то ещё - неизвестно. Физический формат записи соответствует ИКП-Бейсику и его ДОС, но логически там какая-то своя файловая структура
(возможно, в самом деле совместимая с BBC-micro). В составе имела бейсик и другие интерпретаторы, но неизвестно, насколько жестко они были завязаны с ядром системы (можно ли их было выгрузить, загрузить свой/другой...)
JukeDOS - про неё известно почти нисколько, нет ни софта ни даже ясности - закончили ли её. Особенностью было то, что она использует только 840ки, только на девятке, причем формат сектора там 512 байт. Не удивлюсь, если формат файловой системы там будет близок к FAT12. Распространена не была вообще.
Также были разного рода игротеки/запускалки/быстродосы/микродосы - это всё переделки либо ИКП-бейсика либо ДОС3.3 для работы во всяких особых случаях. Роман Бадер и Илья Волков вели, к примеру, ветку ДОС, совместимой с исходной эпловской дос3.3, т.е. работавшей в эпл-моде, но полноценно поддерживающей 840кб дисководы (т.е. для запуска эпловских игрушек, в основном).