User Tag List

Показано с 1 по 10 из 292

Тема: Компьютер для CP/M. Формулировка ТЗ.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Xrust
    Какие-нибудь стандарты на формат записи на CF-флэш есть?
    Вообще-то флэш носители, такие как 'microSD' и 'CF-флэш' в промышленности используют в формате FAT16/32. Для CF это вполне объяснимо, т.к они используют интерфейс винчестера (и служат для их замены). Но как ни странно, и в телефонах, в которых ОС вообще не MSDOS/Windows, для 'microSD', почему-то тоже стали использовать формат FAT16/32.

    Очевидно, из-за этого, все конструкции применяющие флэш-диски для рэтро-ЭВМ используют файлы в формате FAT. Хотя, по крайней мере, в тех в флэш, где есть побайтовый доступ, можно отформатировать его в любой формат. Т.е при желании можно использовать любой формат. Причём не обязательно иметь какую-то ОС, что умеет управлять диском размером в гигабайты, достаточно программно разбить флэш на диски такого размера, что пригодны для конкретной 8-ми разрядной ДОС, и позаботиться, чтобы не было "пересечений".

    Я не имел дела с флэш - CF-карты у меня нет, 'microSD' я не умею программировать (чужие устройства на базе МК не годятся для ДОС, они лишь хранят программы 8-ми разрядки в формате FAT16). Имею некоторый опыт использования винчестера в CP/M. Я даже не рассматривал вопрос о совместимости с FAT. Взял винт и написал простейшие подпрограммы чтения и записи сектора 512 байт. Убедился что они работают. В LINUX разбил винт на одну партицию так, чтобы остались неиспользованные цилиндры. Затем в CP/M встроил работу с винчестером, встроив подпрограммы чтения/записи сектора винта. Естественно, в CP/M нумерация треков идёт с нуля, поэтому в п/п-мму "установить трек по заданному в BC номеру трека" я добавил OFFSET. Например, если текущий CP/M-диск начинается с 700-го цилиндра, то к номеру трека добавляем OFFSET=700. Затем я загрузился в CP/M и POWER-ом командой WRITE заполнил цилиндр где находится каталог (т.е есть цилиндр 700) байтами E5 (переформатировать остальные сектора винта нужды нет) . После этого диск на винчестере стал доступен из CP/M. Одновременно этот винчестер имел в начале партицию MSDOS. Можно было грузиться с этого винта на 486-той и хранить там файлы MSDOS. Собирался написать MSDOS программу для обмена с CP/M дисками.

    Преимущество такого подхода в том, что можно использовать дохлый винт, который уже не работает на PC. А главное, - не требуется иметь блок кодов, что поддерживает FAT16 (тратить на это 4 кб ОЗУ в CP/M-BIOS глупо). Формат на винте соответствует конкретной DOS. Но сейчас мне доступны только винты гораздо большего размера (десятки и сотни гигабайт). Проблема в том, что для 8-ми разрядки нужны диски маленького размера (более 4 мб неудобно). Отчего на винте умещаются сотни тысяч дисков. Как их адресовать? Например, CP/M допускает только 16 дисков. Это значит, что винт можно использовать на 0.01 процента. Поэтому я собираюсь организовать на винте несколько сотен дисков единого размера в 4 мб. И адресовать их по номерам. При старте в CONFIG.SYS командами типа ASSIGN A 500 (диск 500 назначается приводом A) выбираются стартовые 16 дисков. В нортон естественно тоже надо встроить подобную процедуру.

    Цитата Сообщение от Xrust
    FAT16, я предполагаю, будет слишком громоздким
    Вы имеете ввиду случай, когда "слепок" CP/M-диска замаскирован под файл FAT16 и с ним напрямую (побайтово) работает CP/M-BIOS ? Это не будет громоздко, если этот "файл-слепок CP/M-диска" - недефрагментированный, т.е сплошной массив секторов. Т.е с единственным диском громоздко не будет, а вот если надо менять диски, тут уже нужен блок кодов поддерживающий FAT16.

    Цитата Сообщение от Xrust
    Я так понимаю, в "то время" на винт писали кто во что горазд?
    Эту мысль не понял. В "то время" не делали "кто во что горазд", а использовали диски в формате CP/M. Этот формат определяет CP/M. Но число треков и секторов на треке, размер каталога, число системных дорожек в CP/M (и тем более низкоуровневый физический формат носителя) для каждой машины, естественно, свои. CP/M это без разницы, она считывает БПД, блок параметров диска и узнаёт как устроен конкретный диск.

    Цитата Сообщение от Xrust
    А сейчас как лучше сделать?
    Я знаю, как могу сделать я. А как будет лучше я не знаю. Тут, видимо, сколько людей столько и мнений.
    Последний раз редактировалось barsik; 24.06.2017 в 18:13.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Посоветуйте компьютер для сборки!
    от Demige в разделе Для начинающих
    Ответов: 16
    Последнее: 17.02.2012, 18:07
  2. Куплю FDD для Atari XL/XE или в комплекте компьютер+дисковод
    от Нrundel в разделе Барахолка (архив)
    Ответов: 0
    Последнее: 22.01.2007, 13:06
  3. Лучший компьютер.
    от Shiru в разделе Зарубежные компьютеры
    Ответов: 12
    Последнее: 22.05.2005, 14:01

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •