Важная информация
RSS лента

3aRulem Печатное слово

C_DOS (Djoni^NOT-Soft)

Рейтинг: 4.00. Голосов: 4.
_

Cейчас сложно представить компьютер ZX Spectrum без Beta Disk Interface'а, много фирменных программ переделано под TR-DOS, написаны новые программы и утилиты.

На постсоветском пространстве Beta 128 Disk Interface стал стандартом, а были ли наши разработки контроллеров НГМД для ZX Spectrum?

Из известных наверно можно вспомнить это контролер для компьютера Балтик но он рассчитан на работу с операционной системой CP/M.

Хочу познакомить наших читателей с мало известной разработкой C_DOS - это дисковая операционная система была разработана в 1989 году Александром Филипповым.

Технические характеристики:


Число поддерживаемых накопителей: 4
Полезная емкость дискеты: > 800 кб
Способ размещения информации: кластерный
Размер каталога/подкаталога: 127 имен
Число вложений подкаталогов: не ограничено
Емкость RAM-диска (память 128 Кб.): 72 кб
Поддержка ROM-диска: 32-800 кб
Возможность динамического сохранения: 3 режима

Выдержки из документации


«C_DOS разработана как расширение операционной системы, специально для ZX Spectrum. Команды дисковой системы просто дополняют уже существующие. Практически пользователю необходимо помнить: если за словом команды следует знак "*" (звездочка), то это расширенная команда DOS.


Система поддерживает следующие устройства: четыре дисковода (приводы A, B, C, D) формата 720 Кб; RAM диск (привод E), который полезен, как дополнительный "быстрый привод" (если компьютер имеет расширенную память 128 Кб.); ROM диск (привод F), для быстрой загрузки (картридж); интерфейс CTNTRONIX; часы реального времени.


Отличительной особенностью является использование кластерной системы записи информации. Такая система предусматривает наличие на дискете таблицы размещения файлов, которая содержит данные о состоянии всех кластеров (единиц хранения информации). Это позволяет, в частности, при форматировании дискеты проверять качество носителя и, в случае обнаружения дефектных участков, исключать их из дальнейшего использования.

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

C_DOS поддерживает работу c подкаталогами, глубина вложений которых не ограничена. Вы имеете возможность наиболее рационально распределить пространство дискеты».


Одним из авторов программ под C_DOS был Виктор Гриненко, ниже небольшое интервью с ним.

- Добрый день. Расскажите немного о себе.

- Я физик по образованию, в те времена (конец 80-х) работал в Академии наук. Когда у нас на работе появилась 286 машина, я заинтересовался программированием. Но домой такую штуку было тогда не купить, а знакомый предложил мне наполовину собранную плату Спектрума. С этого все и началось

- Как у вас вообще появился ZX Spectrum, это был наш клон или фирменная машина?

- Это был наш клон, львовская версия. В Киеве это была самая распространенная модель.
Сначала я использовал с ней магнитофон и она имела 48к памяти.


- Как вам пришла в голову идея создать дос, была ли у вас информация о Beta Disk Interface и его клонах?

- Мысль пришла в голову Саше и он, конечно, знал о TR-DOS, у меня TR-DOS уже к тому времени тоже был. Но он требует 112 байт (если не ошибаюсь) в основной памяти и файл пишется непрерывным куском. В C_DOS же была реализована кластерная система с таблицей размещения файлов (более известная как FAT), с подкаталогами и возможностью пометки битых секторов и исключения их из использования. Моя утилита CheckFree как раз этим и занималась - проверяла свободные сектора и помечала неисправные в FAT.

Кроме того на плате находилось собственное ОЗУ для дискового буфера и хранения состояния контролера. Поэтому “magic button” для сброса дампов работала всегда без проблем, а в TR-DOS можно было от нее легко защититься разместив часть кода в определенном месте.

- Когда и как вы познакомились с Александром Филипповым?

- Кажется в начале 92 года. Я покупал что-то на радио рынке и продавец разрекламировал мне C_DOS (Convoy DOS) Филиппова. Я позвоним Саше и стал обладателем контролера с номером 29. Мне очень понравилась то, что система не требует выделения блока памяти в основной памяти компьютера и что возможно произвольное выделение дискового пространства, то есть кластерная организация.

- Расскажите о создании программ и утилит для C_DOS?

- Собственно сразу же возникла идея написания программы для копирования дискет TR-DOS на дискеты C_DOS – «BetaCopy». Потом возникла идея файл менеджера «G.Shell» по образу и подобию популярного тогда Norton Commander. Потом был «Disk Editor» подобный своему “однофамильцу” из Norton Utilities. Ну и все остальные программки, «BetaCopy» тоже была переписана под мой “стандартный интерфейс” с буквочками 5 х 8, а заодно была написана совсем уж экзотическая вещь «ToBeta», которая копировала C_DOS в TR-DOS.



Сама C_DOS тоже развивалась, Саша встроил в контролер независимые от питания часы, G.Shell показывал время в правом верхнем углу, у меня часов не было и на скриншотах их нет. Интересной штукой был RAM-DISC, это была дополнительная плата с 128 к ПЗУ, она виделась C_DOS как диск и содержала набор самых полезных программ.

Написано все это было на ассемблере (и мои утилиты и сама C_DOS) с 92 по 96 годы. Потом у Саши появилась PC-шка и все это потихоньку заглохло под давлением более производительных ПК.

- Какую среду использовали для написания и отладки программ, наверно популярные в то время ассемблер GENS и монитор-отладчик MONS или были свои наработки?

- Да вроде эти названия были :-). Они были переделаны под работу с C_DOS, последняя версия ассемблера могла писать результат частями, например, Disk Editor вышел большим и вместе с ассемблером в память не помещался.

- Расскажите конструктивно что из себя представлял контроллер C_DOS, системный разъём был рассчитан на подключения фирменных машин?

- Плата размером ~ 200 х 100 мм, на узких концах разъемы для подключения к шине компьютера с одной стороны и для подключения дисководов с другой. У меня было два 5-ти дюймовых дисковода, у Саши один 5-ти и один 3-х дюймовый.
Какой разъем был у фирменных машин я не помню, на моей стоял, кажется, 48 контактный в 2 ряда.

- Система C_DOS поддерживает работу с ROM-диском с ним тоже можно было работать как с обычной дискетой, запускать программы?

- Да, конечно. Надо было записать дискету с программами, подкаталогами и потом специальный софт делал из нее образ прошивавшийся в ПЗУ. При подключении платы ROM-диска появлялась дискета со своей буквой и она поддерживала все операции кроме операций записи.

- Да основной недостаток TR-DOS то, что он не может практически работать с дискетами, которые содержат дефектные сектора и использует память компьютера для размещения своих переменных и буфер размером 256 байт, при выполнении дисковых операций. Возможно, если бы система C_DOS получила бы распространение, развитие платформы ZX могло пойти другим путём. Ваше мнение почему контроллер не получил широкого распространения?

- Люди просто не знали о его существовании. Я сам узнал случайно. Кроме того одно дело выпустить несколько десятков плат и другое дело тысячи. Момент создания системы пришёлся на время, когда занимавшееся подобными вопросами государство просто исчезло, а бизнес отсутствовал. Впрочем, я не уверен, что он появился за прошедшие 25 лет. :-)
Судьба Спектрума другой быть не могла, так же как подковы из титана по нано-технологиям ничего не изменили бы в судьбе гужевого транспорта.

- Расскажите о работе копки "DUMP" аналог "MAGIC" кнопки Beta Disk Interface.

- Она останавливала работу программы, затем помещала в стек все регистры (команда push) и записывала на диск все 48 к памяти. Кроме того, записывалось положение указателя стека. При запуске подобной программы (а она имела специальную метку в имени, я уже подзабыл какую) система переставляла указатель стека, вытягивала из него регистры, что приводило к продолжению работы с точки останова.

Насколько я помню, 128К-режим не поддерживался в C_DOS, все работало аналогично TR-DOS, за исключением порядка размещения регистров в стеке. Но поскольку C_DOS не требовал ни буфера, ни памяти для хранения собственного состояния, получалось более устойчивое решение. Мои BetaCopy и ToBeta умели преобразовывать такие файлы из одной системы в другую.

- И последний вопрос есть ли у вас сейчас проекты на ZX spectrum , следите ли за новостями платформы?

- Нет. Последние 16 лет я работаю в софтверной промышленности. Наверно было бы, интересно полистать свою тетрадку за первый класс, но снова писать палочки и кружочки...
Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	c_dos02.png 
Просмотров:	1330 
Размер:	6.4 Кб 
ID:	57734   Нажмите на изображение для увеличения. 

Название:	c_dos01.jpg 
Просмотров:	2425 
Размер:	90.3 Кб 
ID:	57733   Нажмите на изображение для увеличения. 

Название:	c_dos05.png 
Просмотров:	1267 
Размер:	5.0 Кб 
ID:	57737   Нажмите на изображение для увеличения. 

Название:	c_dos04.png 
Просмотров:	1217 
Размер:	3.3 Кб 
ID:	57736   Нажмите на изображение для увеличения. 

Название:	c_dos03.png 
Просмотров:	1382 
Размер:	6.5 Кб 
ID:	57735  

Метки: Нет Добавить / редактировать метки
Категории
3aRulem #17

Комментарии

Трекбэков