1 Отредактировано garnizon (01-10-2021 11:02)

Тема: Зачем Агату два разных дисковода?

Мало общался с семерками, но статистику собирал по мере сил, и иногда возникают детские вопросы.

Вот мы знаем: реальные машины комплектовались и тем и другим, вместе и по отдельности.
Но ведь все более затейливо,  ну как всегда с Агатом. 

Скажем семерка, до 88 года комплектовалась только дисководом 140. С 88 года внедрили 840 и их доля постоянно увеличивалась, вплоть до полного перехода на 840. Даже видно по датам что авторы софта переводили его под новый контроллер.

Но  зачем выпускались версии семерок с двумя флопами (840+140)? Только из-за возможности использовать пакеты на различных носителях? Или были какие-то еще скрытые мотивы? Что вы думаете об этом?

С девятками более понятна ситуация. Любая девятка имеет в комплекте 840, и обычно только его одного. Девяток вообще не бывает без 840. А 140 это опция, и предназначался исключительно для безфайловых игрушек записанных на Apple2, 
которые не возможно было "в лоб" скопировать на 840. Хотя потом эта тема развилась и стали массово такие диски переносить на 840.

2

Re: Зачем Агату два разных дисковода?

Конкретно в классе школы, в которой я много всякого софта добывал (кажется, школа # 7), имела класс с только 840ками кроме учительской, которая 140+840. Я думаю причина элементарная: совместимость с предыдущим форматом записи. Именно благодаря этому я и мог у них что-то копировать, поскольку у нас в школе были только 140ки.

И, если не ошибаюсь, раз или два были мы ещё в школе # 1 - там вроде бы была такая же комплектация, но там точно были девятки (одна или все) - там я впервые увидел документацию на девятку, даже напросился как-то просто почитать-поконспектировать, хотя бы в общих чертах.

3 Отредактировано avivanov76 (01-10-2021 22:22)

Re: Зачем Агату два разных дисковода?

Я так думаю, вариант 840+140 как на семерке, так и на девятке нужен с двумя целями:
1) совместимость с семерками, имевшими только дисковод на 140К. То есть, возможность либо запустить что-то, написанное конкретно под 140К дисковод, либо просто перенести данные.
2) возможность запуска софта для Apple ][. На семерке - с ячейкой 121, на девятке - из коробки. ИКП-шный Applesoft не умеет работать с 840К дисководом. Возможно, поддержку 840К дисковода в Applesoft кто-то добавлял, но вряд ли при этом сохранялась полная совместимость с родным софтом от Apple. Для этого надо добавить много кода - дополнительный драйвер RWTS, файловый менеджер с поддержкой файловой системы для 840К. В результате уменьшится доступное адресное пространство для программ. То есть, даже не наверно, а точно совместимости не будет.

4

Re: Зачем Агату два разных дисковода?

avivanov76 пишет:

2) возможность запуска софта для Apple ][. На семерке - с ячейкой 121, на девятке - из коробки. ИКП-шный Applesoft не умеет работать с 840К дисководом. Возможно, поддержку 840К дисковода в Applesoft кто-то добавлял, но вряд ли при этом сохранялась полная совместимость с родным софтом от Apple. Для этого надо добавить много кода - дополнительный драйвер RWTS, файловый менеджер с поддержкой файловой системы для 840К. В результате уменьшится доступное адресное пространство для программ. То есть, даже не наверно, а точно совместимости не будет.

Как мне запомнилось: проблемы были только с игрухами без файловой системы, занимающие целый или не один диск.
но когда агат стал появляться в квартирах, появилось несколько различных контор, предлагающих свои сборники, например: http://agatcomp.ru/agat/Software/MicroDos/Play.shtml
Ясно что у того, кто переделывал, должны быть оба флопа, но простому владельцу это уже может и лишнее.
Помню обсуждение с одноклассниками, планирующими покупку агата - "зачем нижний дисковод, и так всё есть на верхнем".

А вот с обычными файлами, не помню чтоб были хоть какие-то несовместимости. Всё что нам было доступно (очень и очень много), прекрасно работало на этом:
http://agatcomp.ru/agat/Software/MicroDos/Loader.shtml
Причем с перебитыми лейблами, они видно были по всем регионам (судя по тому, как сейчас присылают).

5

Re: Зачем Агату два разных дисковода?

Тут надо разделить две вещи: официально ведь у девяток поддержка софта для Apple делалась только через ИКП, а пункт Applesoft грузил оригинальный DOS 3.3, ничего не знавший про дисковод 840К. Поэтому с точки зрения изготовителя, для поддержки софта Apple дисковод 140К был необходим.

А вот покупателей девяток с одним дисководом такая ситуация не устраивала, поэтому для них сторонние разработчики предложили решение проблемы - загрузчики игр с дисков 840К.

***

Совместимость загрузчиков игр - это тема отдельного исследования :)

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

Судя по тому, сколько было разных загрузчиков, проблемы совместимости у них были решены на разном уровне :) Вот, навскидку, я поделил программы на категории по трудоемкости их переноса:

1) "файловые игрушки". На самом деле, многие из "файловых игрушек" изначально такими не были. Они поставлялись на одном диске (часто с защитой от копирования), и содержали загрузчик (часто на Бейсике), который грузил несколько файлов. "Файловыми" эти игрушки стали после перепаковки, когда все файлы были слиты вместе, а бейсиковый загрузчик заменен вставкой на ассемблере, перемещающей блоки в нужные адреса. Могу предположить, что хакеры так делали в том числе для совместимости с самыми первыми Apple ][, у которых был INTBASIC и бейсиковые загрузчики на Applesoft Basic просто не работали.

Для таких игрушек было все равно, с чего их загружают. Да и нижняя граница доступной памяти их не интересовала - они просто не предусматривали возврат в DOS, только перезагрузку. Совместимость для них обеспечить проще всего.

2) игрушки, требующие Бейсик. Для них, очевидно, нужен Бейсик в адресах $D000-$F7FF. Это более сложный вариант, потому что код, добавленный в DOS для поддержки 840К дисковода уже нельзя закинуть в верхние адреса - там теперь Бейсик.

3) игрушки без перепаковки и софт, работающий с файлами штатными средствами. Еще чуть сложнее - если для запуска игрушек первого типа DOS целиком не нужен и можно, например, выкинуть из него поддержку большинства команд, то тут уже все основные команды должны быть реализованы.

4) софт, работающий с файлами в обход штатных средств. Например, напрямую с файловым менеджером. Вот это уже не очень просто. Тут должны сохраняться адреса точек входа в DOS, в том числе недокументированные.

5) софт, работающий напрямую с секторами. Это еще сложнее. Потому что DOS при этом вообще не имеет понятия, что делает программа. А программе реально может снести крышу, если она ждет номер трека меньше 35, а по факту получает 159-й номер.

Из примеров таких игрушек - тот же Lode Runner, который уровни грузит через RWTS.
Я нашел только один загрузчик с Lode Runner-ом (может, есть и еще, я тут не очень в теме)  http://agatcomp.ru/agat/Software/MicroDos/Used.shtml. Смотрим первую строчку на картинке и видим: DISK FREE:210 USED:350. В сумме 560 или 140К. То есть, похоже, что загрузчик на уровне RWTS занимается эмуляцией 140К тома.

Короче, чем больше программа хочет от DOS, тем сложнее все делается. И вот непонятно, на 840К диски переносились только те программы, которые сравнительно легко было перенести, или был достигнут такой уровень совместимости, что можно было перенести вообще любые программы с файловой структурой?

6 Отредактировано garnizon (03-10-2021 10:03)

Re: Зачем Агату два разных дисковода?

Не стану утверждать что по СССР ходили оригиналы игр. Это было бы глупо. Наверняка среди них, или были, или преобладали, похаченные/переделанные/пересобранные в штатах и Болгарии. А может и несколько раз.
Но вот сомневаюсь что допиливанием занимались у нас, поскольку версии попадающиеся на Агатовских дисках - удивительно совпадают с теми, что лежат на ASIMOV, например.

Какие бы они не были, эти доступны нам версии, они работали с 840.
А раз так, то возвращаемся к вопросу: необходим ли 140 большинству пользователей, если и так всё работает на 840?

Теоретически, если игра не заработала под одним микродосом, то может заработать под другим (писатели микродос  тоже наверное соревновались), в итоге несколькими вариантами покрывается все кол-во ходящих у нас игр. Но мне таких случаев не попадалось. Все  хиты работали под BADERDOS, как мы его называли.
Даже полученную из Софии игру ELITE, там загрузчик на бейсике и несколько бинарников, спокойно скопировали на 840 и рубились.

И еще, пару раз меня просили подготовить и записать мостом диски 840 с игрухами эпловскими. Брал BADERDOS и накидывал туда игрух с того же ASIMOV и virtualapple, все работало.
Хотя уверен что найдутся те, которые откажутся работать. Ведь у авторов микродосов, выбор игр был в разы меньше чем сейчас у нас.  Если замечу такие - отпишусь сюда. 

Это все было про файловые игрухи. А которые по абсолютным секторам, кажется тут и были самые проблемы, свидетельствую: они на 840 появились позже всех. И собственно среди них были самые хиты, из-за которых ходили в игровые залы с АГАТами: Drol, Karateka, Ghostbusters, Zaxxon gumby  т.д.
Но это все тоже перенесли удачно, даже многодисковые, типа: http://agatcomp.ru/agat/Software/Game/L … ssey.shtml
Ну и про Алису помним.
Запомнилась проблема с Drol, но оказалось что Агат тут не при чем: http://forum.agatcomp.ru//viewtopic.php?id=174

Тут надо разделить две вещи: официально ведь у девяток поддержка софта для Apple делалась только через ИКП, а пункт Applesoft грузил оригинальный DOS 3.3, ничего не знавший про дисковод 840К. Поэтому с точки зрения изготовителя, для поддержки софта Apple дисковод 140К был необходим.

Это факт. Можно даже сказать "для переноса между Агат и эпл/правец". Есть кстати пример: Ташкентский Алгоритм писал свои пакеты на Агате, а потом собирал версии для Правец на 140 дисках.
http://agatcomp.ru/Pravetz/AosFizika.shtml

7 Отредактировано avivanov76 (03-10-2021 19:09)

Re: Зачем Агату два разных дисковода?

garnizon пишет:

И еще, пару раз меня просили подготовить и записать мостом диски 840 с игрухами эпловскими. Брал BADERDOS и накидывал туда игрух с того же ASIMOV и virtualapple, все работало.

Это важное уточнение, потому что я сначала подумал, что речь идет только о сборниках, изготовленных в 90-е.

Про использование 140К дисковода для поддержки софта Apple вот еще чего подумал: ведь был же разработан новый контроллер 140К диска (который Фг3.089.173). Причем изменения касались не только сокращения числа микросхем, но и улучшения совместимости с Apple. ПЗУ контроллера при перемещении головок использует процедуру задержки из монитора. У семерки этот адрес не такой как в Apple, поэтому старый контроллер при попытке загрузки с диска из режима Apple в этом месте начнет не время отсчитывать, а что-то печатать на экране. Кстати, там и в схеме есть одно изменение, делающее его больше похожим на контроллер Disk ][. Это таймер задержки выключения мотора.

Так вот, если бы заводы планировали отказаться от ЕС-5088 совсем, то зачем бы тогда им тратить время на разработку этого контроллера?

Ну и заранее знать о том, что процесс переноса софта со 140К дисков на 840К диски пойдет успешно, заводы не могли.

8 Отредактировано garnizon (04-10-2021 00:56)

Re: Зачем Агату два разных дисковода?

Да, семерочный 140 зверек загадочный еще и этим: http://forum.agatcomp.ru//viewtopic.php?id=138


avivanov76 пишет:

Так вот, если бы заводы планировали отказаться от ЕС-5088 совсем, то зачем бы тогда им тратить время на разработку этого контроллера?

Ну и заранее знать о том, что процесс переноса софта со 140К дисков на 840К диски пойдет успешно, заводы не могли.

Не только контроллер, еще у девятки ДОПОЗУ может эпловское изображать, а контроллер принтера портом эпловским притворяться (сам проверял, загружал пару пакетов Apple, печатают на ура).

Вот именно это меня изначально и занимало. Похоже разработчики не рассчитывали на такую прыть сторонних программистов.  И не только в переносе игр на 840 - это наверное все же второстепенно.
Думается что разрабы предвещали активное использование прикладных и деловых пакетов от эпл (тут и парпорт и допозу и обновленный КНГМД 140 под эпл заточено, про 80colcard только забыли), а вышло что это вообще почти не пригодилось.  Чего только стоят ТОР, СУБД и СЧМ наши.

Voldemar даже присылал какой-то текстовик с дисков, типа ТЗ на девятку, там в красках описано что прикладного софта для эпл тысячи, и надо обеспечить его запуск на "обновленном" Агате.