User Tag List

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

Тема: SD карта и SDOS для 8и битных ПК

Комбинированный просмотр

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

    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    352
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    88
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Полноценную запись файлов интегрированную в SDOS делать не планирую. На текущий момент SDOS минимально самодостаточна.
    Основная 'фишка' SDOS - её размер.
    Вообще SDOS надо рассматривать не как ОС, а как загрузчик полноценной ОС с несколько расширенным функционалом.
    Весь дополнительный функционал можно реализовать в виде 'внешних' команд. Как аналог реализация такого в linux. Создаем в корневом каталоге папку SYSBIN, и уже в этой папке размещаем исполняемые файлы del, copy, mkdir, create и тп. Писать же эти команды уже не обязательно на asm, а на любом высокоуровневом языке, по типу Си, можно. Место в ОЗУ наших 'маленьких' ПК для этих 'внешних' команд в данном случае легко организовать имеющимся в SDOS функционале. Для этого в каталоге SYSBIN держим файл TMP.DAT размером, допустим 32КБ. Перед загрузкой 'внешней' команды пишем в этот файл содержимое ОЗУ, в это место загружаем команду, а по завершению восстанавливаем ОЗУ из нашего темп файла. Конечно, даже для этого в код SDOS нужно будет внести правки, но они гораздо проще и не столь объемные по коду чем все эти del, copy, mkdir, create...
    Начинать эту работу с нуля желания и времени нет, но подключиться в процессе вполне смогу.

    Этот пользователь поблагодарил PVV за это полезное сообщение:

    Improver(18.02.2022)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PVV Посмотреть сообщение
    Полноценную запись файлов интегрированную в SDOS делать не планирую. На текущий момент SDOS минимально самодостаточна.
    Ок, насчёт этого не возражаю.
    У меня была идея добавить поддержку FAT16 в одну из Векторовских операционок, и только для жёсткого диска, возможно даже в виде внешнего модуля-драйвера, т.к. применяемое там разбиение НЖМД на кучу дискеток не очень удобно, но без функций создания и записи новых файлов это будет неполноценная замена... Как вариант, на первом этапе можно на FAT-диске насоздавать необходимое количество файлов "DISKETA001", "DISKETA002" и т.п., и использовать их, как дискеты, но, как я понял, программа записи в SDOS не умеет писать данные в произвольное место файла, только с его начала. Это ведь так? Значит понадобится как-то вычислять их расположение и писать данные на диск напрямую, мимо ФС... Да и такое решение усложнит ДОС, и не облегчит обмен файлами с большими ПК.

    Цитата Сообщение от PVV Посмотреть сообщение
    Для этого в каталоге SYSBIN держим файл TMP.DAT размером, допустим 32КБ. ...
    С этим на Векторе проблем нет -- все существующие для него ОС, кроме одной забытой, требуют наличия электронного квази-диска на 256кб, там можно и хранить дополнительные утилитки, и даже запускать их прямо на нем, подменяя ОЗУ.

    Цитата Сообщение от PVV Посмотреть сообщение
    Начинать эту работу с нуля желания и времени нет, но подключиться в процессе вполне смогу.
    За это спасибо, делать что-то за меня не обязательно, а подсказать и посоветовать -- ценное предложение.

    Не знаю, насколько далеко у меня пойдёт энтузиазм в этом направлении, но могу поделиться исходниками собранной мной на скорую руку первой тестовой программки для проверки работы Вектора с FAT, вот архив с исходниками и откомпилированным бинарником: TESTFAT.7z

    Все обращения к DOS заменены на стандартный вызов через "CALL 5", подпрограммы для обращения к НЖМД использовал из МДОС Т-72, немного их модифицировав. Для экспериментов использовал образ карты SD3.IMG, взятый тут.

    Тестовая программка подключает диск, выводит RKX-файлы корневой директории, переходит в директорию MX, возвращается в корень, читает и пишет в файл "TESTMX.RKX" -- в общем, тестирует работу всех имеющихся функций FAT16.

    И, кстати, я немного поправил подпрограмму чтения файла с FAT -- теперь не надо указывать размер чтения, он выставляется по размеру файла из ФС.
    Последний раз редактировалось Improver; 18.02.2022 в 12:26.

  4. #3

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    но без функций создания и записи новых файлов это будет неполноценная замена...
    Вот тут еще посмотрите:
    https://github.com/lmaurits/lm512

    Тоже мини-ОС с минимальной поддержкой FAT16. Запись и удаление там есть, нету seek разве что (а было бы нелишне).
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

    Эти 2 пользователя(ей) поблагодарили Error404 за это полезное сообщение:

    Improver(18.02.2022), ivagor(18.02.2022)

  5. #4

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,065
    Спасибо Благодарностей отдано 
    582
    Спасибо Благодарностей получено 
    471
    Поблагодарили
    253 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Промежуточная версия FAT16, в архиве откомпилированная версия и исходники (с моими часто неуместными комментариями): TESTFAT1.7z

    Теперь она умеет корректировать размер файла при записи до нуля и в большую сторону в пределах последнего кластера. Т.е., например, при исходном значении размера файла "SHAHMMX.RKX" в 6382 байта в него можно записать данные размером от 0 до 8192 байт, при этом размер файла в файловой системе будет скорректирован по количеству записанного. Данная процедура добавила к общему размеру FAT16 всего 185 байт по отношению к предыдущей версии, и это без особой оптимизации кода.

    Далее нужно научить её дописывать кластеры, как в lm512 по ссылке Error404, и создавать новые файлы -- это как бы план-минимум.
    И ещё, синхронизации первой и второй таблиц FAT пока нет, надо будет добавить и это, скорее всего в функцию сброса ФС.
    Последний раз редактировалось Improver; 02.03.2022 в 09:24.

    Этот пользователь поблагодарил Improver за это полезное сообщение:

    PVV(01.03.2022)

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

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

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

Похожие темы

  1. SD карта для ZX-Spectrum
    от PVV в разделе Разный софт
    Ответов: 21
    Последнее: 25.11.2018, 23:48
  2. Ответов: 1
    Последнее: 14.09.2018, 20:59
  3. Видео карта для спека.
    от Руслан в разделе Изображение
    Ответов: 17
    Последнее: 30.08.2013, 01:29
  4. 2D видео-ускоритель для 8-битных компов, ценй 53$
    от Valen в разделе Зарубежные компьютеры
    Ответов: 4
    Последнее: 08.08.2012, 16:03
  5. Ответов: 3
    Последнее: 09.05.2011, 12:19

Ваши права

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