1

Тема: Копирование дискет между 140к и 840к

Приобрел на форуме контроллер 840к дисковода. Планирую подключить 3,5 дисковод. Также мне записали несколько дискет 140к. 840к попросить забыл, протупил.  140к дисковод мой на ладан дышит, читает через раз.
Собственно вопрос - в какой слот втыкать 840к на семерке? И как скопировать содержимое 140к на 840к?

2 Отредактировано Wierzbowsky (29-01-2017 01:54)

Re: Копирование дискет между 140к и 840к

Табличка что куда втыкать тут: http://agatcomp.ru/Reading/for_beginners.shtml

Насколько я знаю 140кб и 840кб дисководы несовместимы друг с другом и скопировать с 140кб на 840кб копировщиком нельзя. Но наверное можно скопировать отдельные файлы.

3

Re: Копирование дискет между 140к и 840к

Это я видел. У меня  контроллер 140 был не в тот слот воткнут и ИКП грузилась с ошибками. Хотя, вроде вариантов немного. Или в свободный, или вместо портов. А ИКП по частям переносится?

4

Re: Копирование дискет между 140к и 840к

Только отдельные файлы можно. Операционки часто были заточены под конкретный тип флопа и копированию не подлежат. Только икп-бейсик со своей дос может сам себя записать на любой тип диска (по команде init), и btk была в почти идентичных версиях для 140 и 840 (там только нулевая дорожка нужна разная).

5 Отредактировано hantarex (29-01-2017 09:45)

Re: Копирование дискет между 140к и 840к

А есть исходники DOS3.30 для Агата 7? Нашел только IOSUB для Школьницы.
И ткните носом плиззз в автозапуск драйвера из ПЗУ. На сайте видел, а щас найти не могу:(
И еще вопрос - как расширить ПЗУ на плате процессора? схемкой не поделитесь?

6

Re: Копирование дискет между 140к и 840к

именно 3.3 нет - её тянули с эпла, переделывая походу, прямо по бинарнику

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

про автозапуск вообще не понял вопрос. Тот, что в пзу - из пзу и смотри.

пзу на какой машине? на семёрке никак не расширяется стандарно, нестандартно можно легко расширить до 12 кб. А что туда будешь писать?

7

Re: Копирование дискет между 140к и 840к

на семерку расширение и нужно. хотя бы васик в ПЗУ засунуть можно?
насчет автозапуска драйвера из ПЗУ устройства - там в начале сигнатура должна быть? какая?

8 Отредактировано avivanov76 (30-01-2017 13:28)

Re: Копирование дискет между 140к и 840к

Да, сигнатура у ПЗУ загрузочного устройства должна быть. Начиная с нулевого байта:
xx $20 xx $00 xx $03 xx $3C

xx - любое значение (четные байты не проверяются)

Насчет Бейсика в ПЗУ - я сомневаюсь. Мне казалось, все Агатовские Бейсики занимают больше 10Кб. И потом, а что с ним делать, если DOS нету?

9

Re: Копирование дискет между 140к и 840к

hantarex пишет:

на семерку расширение и нужно. хотя бы васик в ПЗУ засунуть можно?

Всё можно, если дорабатывать напильником.

http://forum.agatcomp.ru//viewtopic.php?id=11

Готовых решений нет.

10 Отредактировано hantarex (30-01-2017 17:46)

Re: Копирование дискет между 140к и 840к

avivanov76 пишет:

Насчет Бейсика в ПЗУ - я сомневаюсь. Мне казалось, все Агатовские Бейсики занимают больше 10Кб. И потом, а что с ним делать, если DOS нету?

васик - это для примера. По идее - если есть ПсевдоПЗУ, наверное, можно его заменить на просто ПЗУ?

Вообще - машина очень интересная, но ее дисковая подсистема - это тихий ужас(в плане  совместимости).

А ProDOS  на нее не переносили? вообще - есть какие-нить исходники операционки под нее?

Еще где-то слышал, что диск 840к можно представить, или разбить на несколько томов 140к. Это правда? И как это сделать?

11

Re: Копирование дискет между 140к и 840к

hantarex пишет:

васик - это для примера. По идее - если есть ПсевдоПЗУ, наверное, можно его заменить на просто ПЗУ?

Нет. ПсевдоПЗУ - это ОЗУ, в которое можно запретить запись. Можно запретить, можно разрешить. На время загрузки ОС/СП запись разрешена, потом запрещается. Потом может быть снова разрешена по каким-то причинам.

Да, можно в эмуляторе снять образ этого ПЗУ, зашить в микруху. А что потом ?

1) Что с инициализацией? Образ ЭмПЗУ - это только программный код. Но есть ряд переменных + ряд процедур в обычном ОЗУ, необходимых для его работы. Если же загнать образ в обычное ПЗУ, что должно произойти при включении машины? Откуда возьмутся те части, которые были в обычном озу ? Понятно, что можно сделать стартер, который будет всё разворачивать, но его нужно делать!

2) ЭмПЗУ семёрки - это 32 кб. Из них бейсиком, например, используется чуть меньше 16 кб. Чтобы впихнуть этот объём в 12 кб адресного пространства над регионом портов ввода-вывода, нужно иметь некую схему, которая бы выбирала по командам программы нужные страницы и подключала их в регион ПЗУ. И бейсик таки ожидает наличие такой схемы. На модуле ЭмПЗУ она есть. Можно сделать такую же и для большого банка ПЗУ. Но это нужно делать!

(Среди девяток есть версия платы с местом для такого ПЗУ, но серийно машин с реальной микрой не было)


hantarex пишет:

Вообще - машина очень интересная, но ее дисковая подсистема - это тихий ужас(в плане  совместимости).

?? в смысле аппаратуры или ПО ??

Но ты прав - Windows, даже 10ка, до сих пор не читает агатовские диски. Может к следующему релизу добьются совместимости... Или не надо ? ;)


(Я хочу сказать: отсутствие совместимости - это вторая сторона многообразия. Ну хотел Возняк сделать ТАК - и он сделал ТАК, не парясь за совместимость (а с кем и почему ему было совмещаться?) Эпл и сейчас не парится. Даже как бы наоборот. А если всё время ориентироваться на совместимость - это как консервные банки на хвосте кота. И чем дальше тем больше. Процессор архитектуры "amd64" сейчас "для совместимости" тащит за собой уже чуть ли не десяток режимов работы... И даже самый старый из них - "реальный режим" - че-то не торопится сдохнуть. MSDOS на Core i3 работает... А во снах старшего инженера Интел (из департамента процессоров) по зелёным лужайкам прыгают весёлые процессоры с максимум парой 64-битных режимов. Ну и ладно, так и быть - ещё SMM-режим или что там сейчас вместо него... (А старший инженер департамента чипсетов ласково ставит к стенке всех, кто напомнит ему про C2, C3.... Но это уже совсем другая история))


> А ProDOS  на нее не переносили? вообще - есть какие-нить исходники операционки под нее?

ProDOS работает в режиме Эпл-совместимости.

Исходники существуют где-то, но смысл ? Процентов 90 всего интересного софта на агате написано на ассемблере, не исключая и ОС. Если ты видел IOSub Школьницы и разобрался в его работе - не вопрос, можешь переживать о других исходниках. Как только Игорь добудет исходники Спрайт-ОС и/или Школьницы, мы сообщим. На остальные (ONIX, BTK, JukeDOS...) вряд ли стоит расчитывать.

Тут вот кой что есть в разделе исходников:
http://agatcomp.ru/Soft/agat.shtml

В аттаче к этому сообщению ещё исходник драйвера файловой системы от Цикозы. Это самый качественный исходник такого рода. Вокруг него и драйвера RWTS, собсно, и зарождались разные ОС для Агата (во всяком случае близкие к ДОС3.3).


> Еще где-то слышал, что диск 840к можно представить, или разбить на несколько томов 140к. Это правда? И как это сделать?

Это делалось для переходных версий Бейсика-60 и ДОС3.3. Т.е. сразу с появлением контроллера 840 кб, но до появления полноценной поддержки 840ок ДОСом. Диск бился на 4 части, чтобы обойти ограничение на размер служебной структуры VTOC.

Такой диск создавался специальным форматтером. Я сомневаюсь, что Игорь его публиковал, поскольку он (Игорь) вообще осторожно относится к ОСям, отличным от входящих в состав ИКП. Ну и для работы с таким диском нужна специальная версия ДОС3.3 (там драйвер флопика с нуля переписанный). Мы эту тему с ним сильно не развивали, поскольку это всё было временным костылём.... Очень быстро появились версии основных ОС с нормальной поддержкой 840ок, а 840/4 - ну в общем-то никто кроме этой патченной ДОС3.3 и не понимает.

-=-=

Лучше объясни, чего ты хочешь добится в целом?
1) Хочешь писать под агат в привычной тебе среде ? (что будешь писать?)
2) Хочешь разработать свою ОС под агат ? (и потом адаптировать под неё существующий софт?)
3) ????
Просто пока не понятно: зачем брать ДРУГУЮ машину (т.е. Агат), если ты её хочешь сделать ТАКОЙ ЖЕ (как та, с которой ты хочешь совместимости) ?

Post's attachments

Attachment icon ДOC4.FIL 15.04 kb, 338 downloads since 2017-01-30 

12 Отредактировано hantarex (30-01-2017 21:53)

Re: Копирование дискет между 140к и 840к

Насчет совместимости - ДВК и УКНЦ диски нормально читаются на РС,  хотя архитектура ни разу не похожа. Я про это.
Работать в эмуляторе и иметь возможность переносить соф с ББ на Агат и обратно без танцев с бубном.

А вообще - есть у меня мысль прикрутить к Агату CompactFLASH в режиме 8bit. Или старый винт с поддержкой этого режима. Технически это несложно. На семерке ВВ55 стоит и место под ПЗУ на плате контроллера есть.
     На zx-pk мы такое замутили для Веста ПК8000, правда реализовали полный IDE-интерфейс. И СР/М винты поддерживает. Хочу что-нить подобное для Агат 7 сделать. Все упирается в софт. В СР/М BIOS  переписал и все. С Агатом сложнее. Пока собираю информацию.  Что лучше: адаптировать DOS3.30? или работать непосредственно с FAT, как на Спектруме?
    Пока мысли такие - в DOS3.30 по байту на количество треков и секторов в треке. Если попробовать ее пропатчить на предмет 256 треков, 256 секторов на трек. Если оставить 256 байт на трек - емкость диска будет 16Мб, правда будут проблемы с адресацией секторов. Если юзать 512 байт сектора по умолчанию - будет 32Мб дискового пространства, но не уверен, что будет просто переделать ДОС под такой сектор. Или можно работать с FAT, монтировать образы дискет - но это точно будет новая операционка, на это у меня тяму не хватит:(
Очередной вопрос: DOS3.30 работает с диском напрямую? Или через драйвер RWTS? Если ДОС в физику чтения-записи не лезет, а работает только с секторами, думаю, можно будет ее перенести на винт/флешку.
Железяку отладить можно и средствами монитора, а ДОС допиливать придется на реальном железе, эмулятор тут не поможет. Значит, для начала нужна какая-нить инструментальная среда. Мой 140к дисковод долго не протянет, а 840к я сам записать не могу, потому и создал эту тему. Эмулятор 140к дисковода, или мост 840к - на крайний случай, пока нет времени возиться с их сборкой и наладкой.
А еще - почему никто не пробовал прикрутить к Агату AY8910? Вроде несложно. Заказал себе несколько макеток для Агата, пока делаются - собираю инфу о машине и пытаюсь думать.
Щас потихоньку изучаю ассемблер 6502. Никогда с этим процессором не сталкивался, даже в Денди, за неимением таковой:) Планы у меня, конечно, наполеоновские:)
1: Прикрутить какое-нить файлохранилище к агату, чтобы не прыгать вокруг него с пачкой дискет, которые непонятно как записывать.
1.1: иметь простой способ переноса файлов с РС на Агат и обратно.
2: прикрутить AY8910, попробовать написать плеер трекерной музыки и держать треки в файлохранилище, а не на куче дискет.
3: попробовать написать какой-нить рогалик, лучше графический. Писать, естественно, в эмуляторе, результаты оценивать на реальной машине.
4: попробовать каку-нить демку написать.
Хорошо будет, если хотя бы один пункт выполню:))
P.S. для Спектрума, для MSX энтузиасты что-то новое придумывают, чем Агат хуже? Не предлагаю кардинально менять конструкцию, но если пользоваться Агатом станет удобнее - почему бы не сделать пару примочек? Жду с Китая одну приблуду, если разберусь с ней - вообще можно будет USB Flash прикрутить:) USB на Агате - Звучит?:)

13

Re: Копирование дискет между 140к и 840к

Ага, вот с этого бы и надо было начать.

ДВК и УКНЦ - всё таки сходные архитектуры. С другой стороны - у ДВК была куча разных флопконтроллеров, не совместимых друг с другом. Но на ДВК была промышленная RT11, к которой можно было чёрта лысого прикрутить и он бы тоже работал.

Твои мысли практически 100% повторяют мои собственные году в 1994.

1) Почему на агате не было AY8910 :

Агаты были малодоступны частнику для домашнего использования. Они были, в основном, в школах (причины: ценник, отстутствие в продаже, малочисленность игрушек, IMHO). Кто тебя пустит ковыряться в школе во внутренностях машины, что -то паять ? Училка, которая чихнуть рядом боится?

Аппаратные доработки делали либо везучие частники, которые так или иначе имели доступ к машинам, либо "крупные" фирмы, которые надеялись продать результаты работы. Ниппель много что делала, например. Трудно утверждать, что "никто не пробовал прикрутить к Агату AY8910". Возможно пробовали, и у кого-то всё это было, но кто ж его сейчас найдет? А сам он нам тоже не пишет.


2) Попытки прикрутить IDE на агате были. У нас есть в коллекции есть файлик, который прямо так и содержит строчку ...
Хотел привести этот кусок, на найти не могу, а уже скоро на работу уходить. В общем, вроде бы всё та же фирма Ниппель над этим работала. К сожалению, пока накопать ни софта ни харда на эту тему не удалось.


3) Если не ошибаюсь, Спрайт-ОС, которую активно начал развивать Цикоза в 90-е, как раз имела архитектуру, близкую к CP/M и MS-DOS, и, наверняка, могла бы без особых проблем работать хоть с USB, хоть с любым другим накопителем. Структура её файловой системы немного похожа на FAT, и, как мне помнится, там была именно адресация через LBA.


4) Основная проблема, которая вылезет у тебя при попытке прицепить любого вида накопитель или файловый интерфейс - это вовсе не архитектура машины (тут можно напридумывать море красивых идей), а существующий софт. Т.е. взять и индивидуально доработать dos3.3 до поддержки ... ну почти чего угодно, можно конечно. Ну как минимум, треков 40 на 32 сектора она будет поддерживать без больших проблем. Дальше ограничение формата VTOC. Если взять исходники ИКП-шной dos, то там можно, я думаю, дотянуть до 255 треков на 32 сектора. Дальше опять упрёмся в ограничение VTOC.

На самом деле и такой объём очень приличный для реальной работы на агате. Но тут мы сталкиваемся с тем, что dos33 не поддерживала подкаталоги. Ну они на 140 кб и не нужны были. А вот при сотнях файлов на каталог - они очень-очень нужны.

Мы имеем два пути: либо брать ветку ИКП-бейсика от Серкова, у него есть плагин, который поддерживает внутри ОС что-то вроде подкаталогов. Но не иерархических. Либо уже уходить от ДОС3.3.

И вторая проблема: не всё на агате крутилось вокруг ДОС3.3. Были ещё РАПИРА, был ещё Диалоговый Отладочный Комплекс, была BTK (под неё тоже есть неплохая ветка ассемблера, но без редактора). ДОК - это ключевой компилятор и среда разработки агатовских прог. Да, были другие, даже может быть лучше в чём-то, но практически мало кто ими пользовался, потому что ДОК был неплох и шел с компом в комплекте. А то, что не шло в комплекте, в регионах взять было просто не откуда. BTK была тоже довольно распространена, но это вообще уникальная штука: ОС для отладки и изучения чужих программ. Ну и своих тоже.

И вот получается, что либо ты тащишь за собой и эти среды тоже (все переделки, адаптации), либо вообще забиваешь на это всё и у тебя есть три варианта: совсем своя ДОС с покером и дамами, либо ONIX, к которой есть красивая демка, но нет компиляторов (есть где-то, наверное, но мы не видели), либо SpriteOS, под которую, как минимум, есть ассемблер, поддержка подкаталогов и, возможно, не очень сложный механизм подключения драйверов устройств. Правда, там нет интегрированной IDE: компилятор и редактор у неё отдельные (и тут ДОК слегка вырывается вперёд).

-=-=-

Одним словом, куда не кинь, а освоить наши линки для флопиков гораздо проще, чем реально запилить удобную среду для поддержки чего-то, радикально отличного от имеющихся флопиков. Мне кажется, всё же если хочется работать не с физическими дисками, а с чем -то вроде флешака, надо идти в сторону эмуляторов дисководов. Этот путь хоть чуть-чуть известен. Либо можно сделать ставку на ИКП-Кермит - это расширение ИКП для работы по сети. Но как работает, насколько кривое, что там поддержано кроме ДОК, бейсика и Рапиры - не знаю.

-=-=-

Вообще, если бы меня интересовала в 90-е только демосцена, я бы забыл про дос3.3 и радикально раскурочил бы именно ДОК. Там в одном флаконе компилятор, редактор текстов и файловая система. Всё одновременно загружено в память. А больше ничего и не надо.

Сейчас же я склоняюсь больше к кросскомпиляции. Мне реально не хватает сейчас толкового командно-строчного компилятора, который бы сразу из текстовых файлов PC собирал B-файл внутри FIL-контейнера. С поддержкой всех нынешних include, .macro и прочим. Но такого просто не существует, ни на PC ни на агате.

И вторая мечта вслух: я бы вообще сосредоточился не на локальных накопителях, а на сетевой карте для агата. Ethernet. И, соответственно, переносил бы стек IP-протоколов, хотя бы arp/ip/tcp/tftp или arp/ip/tcp-udp/nfs. Или даже IPX. В этом случае можно было бы одновременно работать с файлами на обеих машинах - на PC, например, редактировать текст и компилировать его, а на агате сразу же запускать.

14 Отредактировано Voldemar0 (31-01-2017 06:07)

Re: Копирование дискет между 140к и 840к

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

15 Отредактировано hantarex (31-01-2017 10:32)

Re: Копирование дискет между 140к и 840к

я про совместимость и архитектуру  PDP-11 и РС.
Агат у меня второй месяц всего:) И процессор и машина мне незнакомые. Но очень интересные:)
Буду думать. А насчет с чего начать - думаю, стоит возиться с системой, для которой больше всего софта. И вот здесь я уже запутался:( ДОС, ИКП, СпрайтОС и т.д. и т.п. И, наверное, разные версии для семерки и девятки?

Или стоит начать с "сетевой" карты на базе имеющегося контроллера портов? В простейшем варианте можно на ВВ51 повесить Мегу с флешкой и рулить ей через СОМ-порт. В ПЗУ загрузчик, который грузит ВООТ с флешки, какой-нить файл с фиксированым именем. А этот ВООТ уже делает все остальное. Никаких аппаратных переделок не надо, кроме ПЗУ в плату портов впаять. Еще Мегу можно заюзать как мост COM-SPI и прицепить Ethernet-шильд. В нем вроде стек TCP уже реализован.

16 Отредактировано Voldemar0 (31-01-2017 16:39)

Re: Копирование дискет между 140к и 840к

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кб дисководы (т.е. для запуска эпловских игрушек, в основном).

17 Отредактировано Voldemar0 (31-01-2017 16:58)

Re: Копирование дискет между 140к и 840к

Обобщая, можно все ОС можно поделить на три группы:

1) dos33-совместимые. Это все ветки бейсика (иногда с поддержкой сети/модемов) и немного в стороне от них АА/АО/ДОК/БТК. Все понимают один формат бинарных файлов и работают с одним форматом файловой системы (с поправкой на то, что не все понимают 840кб диски).

2) СпрайтОС - она была достаточно распространена и развита, но не совместима с первой группой.

3) Всё остальное. Оно было и не распространено и не совместимо.

К первой группе можно было бы отнести также интерпретатор языка Рапира, а также ряд прикладных пакетов (вроде Mouse Graf, Малая бухгалтерия....) - но лишь по признаку совместимости с файловой системой.

Объединяет ОС в этих группах не только поддержка файловых систем, но так же и, если так можно выразиться, философия построения. Сюда входят и наборы команд/возможностей файловых драйверов ОС и их программный интерфейс...

18

Re: Копирование дискет между 140к и 840к

Познавательно, спасибо...

19 Отредактировано hantarex (31-01-2017 17:15)

Re: Копирование дискет между 140к и 840к

А может что-нить типа MSX-DOS попробовать замутить? С учетом современных реалий?
Есть набор стандартных, или устоявшихся системных вызовов для Дос330?

20

Re: Копирование дискет между 140к и 840к

hantarex пишет:

А может что-нить типа MSX-DOS попробовать замутить? С учетом современных реалий?
Есть набор стандартных, или устоявшихся системных вызовов для Дос330?

Во первых - я не знаю что такое msx-dos
Во вторых - я ж говорил: всё упирается в софт. Зачем тебе msx, если софта под неё не будет?
Кто его будет писать и чем это будет лучше того, что есть?

21 Отредактировано hantarex (31-01-2017 21:05)

Re: Копирование дискет между 140к и 840к

MSX-DOS операционка для Ямахи. Интересна тем, что файловая система у нее FAT, а по таблице вызовов она совместима с СР/М. Есть хотя бы теоретическая возможность прикрутить к дос330 файловую систему FAT? Заменить драйвер дисковода, или нечто подобное? Тогда софт, который напрямую к диску не лезет, должен работать. Игрушки там всякие. Без копировщиков и дисковых утилит, думаю, прожить можно будет. И переносимость дисков сразу улучшится.

22

Re: Копирование дискет между 140к и 840к

hantarex пишет:

MSX-DOS операционка для Ямахи. Интересна тем, что файловая система у нее FAT, а по таблице вызовов она совместима с СР/М. Есть хотя бы теоретическая возможность прикрутить к дос330 файловую систему FAT? Заменить драйвер дисковода, или нечто подобное? Тогда софт, который напрямую к диску не лезет, должен работать. Игрушки там всякие. Без копировщиков и дисковых утилит, думаю, прожить можно будет. И переносимость дисков сразу улучшится.

Прежде, чем я воскликну: "выдыхай! Срочно выдыхай!" скажи мне: о каком конкретно софте идет речь, который должен работать и почему перестанут работать копировщики и дисковые утилиты ?

23 Отредактировано hantarex (31-01-2017 23:18)

Re: Копирование дискет между 140к и 840к

дисковые утилиты Агата перестанут работать, если изменится файловая система. а софт - скорее всего игры. Вряд ли кто-нить будет на Агате тексты набирать. Или работать с электронными таблицами. Да и с компиляторами будет проще работать на РС, в эмуляторе, если будет простое копирование софта между Агатом и РС.
Ну, а ежели играм операционная система не нужна для работы - тогда все еще проще.
Ладно, пока не буду этим всем заморачиваться. Дособираю эмуль флопа француза, он вроде Агатовские образы поддерживает, а там видно будет, в какую сторону копать. Еще с машиной разбираться надо. Что-то мне кажется - все не так, как кажется:) Не такая уж и сложная машина Агат. По крайней мере - на первый взгляд:)
А за информацию - большое спасибо! Весьма познавательно!

24

Re: Копирование дискет между 140к и 840к

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

Как минимум, придется пересобирать (в основном без исходников) все основные версии ДОС (включая те, что входят в состав пакетов). А сколько вариантов ДОС на дисках с играми... Причем, если код для работы с конкретным устройством RWTS еще как-то прячет от прикладных программ, то замена файловой системы потребует менять структуры данных самой RWTS. А значит, прикладной софт тоже придется патчить.

Страшно даже подумать, сколько придется всего дизассемблировать и дебажить :) Я на Правце в свое время много просидел, долбя DOS командой L (не нравился мне этот метод с символом $04) и примерно представляю, что это такое. Исходный текст то восстанавливается легко, но вот как понять назначение рабочих ячеек памяти и логику работы? Это буквально весь текст надо излазить вдоль и поперек.

Само собой, все эти патчи породят кучу трудно уловимых глюков, потому что кода прибавится, адреса функций поедут, а гарантии, что какая то из прикладных программ не использует конкретный адрес ДОС или Бейсика, никто не даст.

Соглашусь с Voldemar0, что куда полезнее развивать тему эмуляторов дисководов. Например, объединить в одном устройстве эмулятор дисковода, флэш память и порт Ethernet, сделав возможность заливать образы дисков по сети.

25 Отредактировано Voldemar0 (01-02-2017 06:41)

Re: Копирование дискет между 140к и 840к

hantarex пишет:

дисковые утилиты Агата перестанут работать, если изменится файловая система. а софт - скорее всего игры.

Вот теперь тебе точно  нужно выйти на солнышко, лечь на травку и как следует продышаться.

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

Я ж не случайно задал тебе этот вопрос, он был со звёздочкой, с подковыкой.

Объясняю.

Копировщики, если речь о копировщике файлов, например, в нормальных ОС и даже не очень нормальных, работают через обращения к ОС. Им нет никакого интереса разбираться в файловой системе и как-то от неё зависеть. Их задача - считать файл и записать его обратно - эти возможности есть в любой ДОС. Изучите эпловский FID, например - это был первый копировщик, тянутый на Агат. Копировщикам дисков, посекторным, вообще не интересен формат файловой системы. Только автономные копировщики (а автономными они становятся ради много-много свободного ОЗУ, чтобы в него сгрузить сразу группу файлов и не переставлять при копировании диски - т.е. это интересно только для машин без жесткого диска и только с одним флопи) завязаны на формат файловой системы. На агате это только копировщик, входящий в состав ИКП. И ничего больше.

Хотел ещё спросить, какая тебе будет польза от того, что dos33 станет поддерживать FAT, это был бы вопрос с двумя звёздочками. Но я уже догадываюсь об ответе - ты бы сказал, что будешь читать агатовские дискеты на PC ? Не будешь.
Изучай матчасть: агатовский контроллер 140ки не имеет понятия о MFM-кодировании, там используется GRC, а 840ка использует свою версию MFM, которую не читает ни один PC или вг93 -совместимый контроллер. Обрати внимание, хотя бы, что везде пишется "840", а не "800". Для PC- 800 - макисмум на диске, норма - 720. Для агата 840 - минимум, можно ещё немного задрать. И всё это hardcoded в железе. Хочешь читать PC-шные диски на агате? Не вопрос: есть card93, специально для тебя. http://agatcomp.ru/Images/new_fl_ctrl.shtml , где-то внизу страницы.

FAT можно внедрить в dos33. avivanov76 ошибается в том, что нужно будет сидеть с командой L и дизассемблировать - это давно сделано до нас в книге "Beneath Apple DOS" (Под яблоней ДОС). Но он прав, что это радикальная переделка ОС, от неё останется только синтаксический анализатор. И она тем более сложнее, потому что придётся как-то сохранять адреса входных точек (хотя мало кому из программ это будет важно. Но вот FIDу точно важно).

Теперь о паре терминов, я так ощущаю, что это тоже надо прояснить:
- RWTS  - это аббривеатура от Read/Write Track/Sector. Это - общее название драйверов дисководов Агата. Драйвер дисковода - это такая программа/процедура/подпрограмма/кусок кода, который по запросу считывает или записывает один или несколько секторов диска.
- Драйвер файловой системы - это такая программа/процедура/подпрограмма/кусок кода, который по запросу считывает или записывает весь или кусок файла на КАКОЙ-ТО носитель данных, о котором знает только, что он адресуется посекторно.

Не путайте, pls ! Переписывание RWTS никаким образом к формату файловой системы не относится. Драйвер файловой системы не имеет понятия о деталях устройства накопителя.

Теперь о "таблице вызовов". Я тут тоже ощущаю мощное недопонимание.
Если мы говорим об агатовском софте, то ему какое дело до таблицы вызовов CP/M ? А если о ямаховском, то он всё равно на агате не пойдет из-за различий в процах. Так для чего оно нужно ? Мы тут в тупике: ты рекламируешь CP/M, а, в ответ, буду рекламировать SpriteOS. Мои "за": она уже есть на агате, по функционалу близка к CP/M. Есть CP/M или MSXDOS для 6502 ? Если нет - до свидания. Потому что если её нет для 6502, значит и прог на эту архитектуру под неё нет. Тогда что мы опять выигрываем ?

О FAT. Об этой жуткой, корявой, тормозной и ненадёжной файловой системе. Которая на 8-битной архитектуре сливает файловой системе dos33 по всем параметрам. В которой битовую маску свободного пространства додумались ввести только на этапе разработки FAT32, а в dos33 это было от рождения. Которая содержит все служебные таблицы в одном месте, жестко привязанными к определённым адресам и ни как не можно это обойти. Которая требует заметно замороченной математики даже при чтении файла. ... Я не буду про неё больше писать, она ужасна. И она не понимает имена файлов больше 11 знаков. dos33 работает с 30 знаками.

А тексты на Агате Игорь набирать любит :)

Простого копирования между агатом и PC не будет никогда, ну хотя бы потому, что форматы файлов разные. Если просто побитово скопровать текст с агата на PC, то уже из-за различий в кодировках вы его не прочитаете. С другой стороны, ты же в курсе об этой утилите: http://agatcomp.ru/Soft/dos33c2.shtml ? Она прозрачно копирует бейсиковские и текстовые файлы. Между эмулятором и PC, как ты и хотел.