User Tag List

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 41 по 50 из 56

Тема: Специалист М - апгрейд до МХ2

  1. #41
    HardWareMan
    Гость

    По умолчанию

    fifan, скорее всего выравнивание по границе страницы в 64КБ.

  2. #42

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А какой смысл в заигрывании со сменными страницами RAM-диска под Коммандером? Просто интересно свой драйвер написать? Выбираем букву диска с B по H переписываем туда файлы с диска А (ROM-диска) и так далее. Не удобнее было средствами BIOS самого Специалиста МХ сделать линейный RAM-диск объёмом 512 кБайт с продуманным механизмом записи каталога. Соответственно панель этого диска сделать со скроллингом вывода имён файлов с объёмом и стартовым адресом. В RAMFOSе с его синими окнами более 16 файлов на каждой панели не выводились.

    А вот Flash диск особенно с ПО записи на него мне понравился. Респект SpaceEngineer'у за работу!

    Добавлю: Более 16 файлов выводится, но листанием по 16 файлов. Листание страниц с 1 по 4 (почему не с 0 по 7?) возможно клавишами Shift+стрелка влево/вправо. А вот полноценный скроллинг с исчезновением верхней строки смотрелся бы разумно.
    Последний раз редактировалось fifan; 28.01.2022 в 21:45.

  3. #43

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

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    А в чём прикол несоответствия размера файлов ROM-диска rom0.bin и т.д. (512 кБайт) с размерами программ записанными в диск? Интересно что самого пустого места (сужу по байту ff) как бы мало...
    Выравнивание по секторам (256) в структуре ром-диска коммандера, плюс выравнивание по 64 кб страницам.
    Скрипт, создающий образ, тупо перебирает все файлы в папки и пытается всунуть в странице. Из-за этого в некоторых страницах всего по два файла, и под 30 кб пустого места. Такое бывает, если следующий за текущим файл больше оставшегося свободного места.

    - - - Updated - - -

    Цитата Сообщение от fifan Посмотреть сообщение
    А какой смысл в заигрывании со сменными страницами RAM-диска под Коммандером? Просто интересно свой драйвер написать? Выбираем букву диска с B по H переписываем туда файлы с диска А (ROM-диска) и так далее.
    Не понял, что ты имеешь в виду. (Можно на ты?)

    Цитата Сообщение от fifan Посмотреть сообщение
    Не удобнее было средствами BIOS самого Специалиста МХ сделать линейный RAM-диск объёмом 512 кБайт с продуманным механизмом записи каталога. Соответственно панель этого диска сделать со скроллингом вывода имён файлов с объёмом и стартовым адресом.
    Средствами какого BIOS? Коммандер/MXOS понимает только диски в формате "типа FAT8", поэтому непрерывный диск на 2 мега не сделать. Рамфос же имеет непрерывную структуру диска, где файлы идут друг за другом без разрывов, и тоже только до 64 кб. Такая структура не позволяет сделать удаление/запись: при удалении файла из середины, всё, что выше, копируется в образовавшуюся дырку. Для 64к рам дисков это Ok, но для флеша это убийство... Да и стирать/писать его можно только 256-байтными блоками. Т.е. к рамфосу можно прикрутить читалку такого флеш диска, но вот писалку... Если бы посмотреть, как устроена его родная MXDOS, но я даже её саму не знаю как вытащить из odi файлов, и исходников вообще нигде не видел, даже на самих odi от Афанасьева (там, кстати, есть исходники рамфоса). Но одно ясно - MXDOS сделана она довольно костыльно, запись/чтение/выполнение файлов с дискеты идет только через рам диск.

    В общем, архитектура Коммандера как нельзя лучше подходит для флеш диска. Поэтому я написал драйвер именно для него. К тому же, мне пока не понятно, как прикручивать драйверы к рамфосу. Та же MXDOS это не драйвер дисковода, а целая самостоятельная ОС, которая понимает формат рам дисков рамфоса, и, похоже, использует его БИОС.

    Я почему это всё затеял, и почему спрашивал тебя про драйвер дисковода (и PVV пытаю про Sdos)? Я хочу перевести MXOS на FAT12/FAT16, чтобы сделать непрерывные диски (рам, флеш, ром системный до 256кб). Лучше сразу "в настоящем" формате FAT12/FAT16, чтобы потом легче было прикрутить драйвер дисковода и SD карты.

    А следующим этапом - запуск программ от Рамфоса. Для этого надо будет реализовать его точки входа. Если не получится, то есть план B: перевести дисковые операции Рамфоса тоже на FAT12/FAT16. Тогда можно будет на компе иметь обе системы, переключаться между ними когда надо, и они обе будут видеть содержимое дисков. Есть ещё план C, более костыльный: сделать для Коммандера драйвер рам-диска в формате Рамфоса. Это будет своеобразный мост между системами.

    Цитата Сообщение от fifan Посмотреть сообщение
    Добавлю: Более 16 файлов выводится, но листанием по 16 файлов. Листание страниц с 1 по 4 (почему не с 0 по 7?) возможно клавишами Shift+стрелка влево/вправо. А вот полноценный скроллинг с исчезновением верхней строки смотрелся бы разумно.
    А, вон оно как, спасибо за подсказку.

  4. #44

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне не нравится что дисков в Коммандере аж 7 (B...H), а не один. Ещё имя файла только заглавными буквами и 6 букв. В остальном хорошая задумка была у Константина Юденцов, жаль что не доделал свой Коммандер.

    Файлы в RAM-диск пишутся друг за другом с 32-байтным заголовком и самим кодовым кодом. И так все 512 кБайт можно записать. Но не понятен принцип в конце каждых 64 кБайт. Если файл не входит в текущую страницу, то он должен писаться в следующую. А как это об этом сообщается пользователю? Вот формат файла на RAM/ROM дисках:

    ; 3 байта - признак заголовка (#d3 #d3 #d3)
    ; 8 байт - имя файла
    ; 1 байт - пробел (#20)
    ; 3 байта - расширение файла
    ; 1 байт - признак сохранённости файла (#8c)
    ; 3 байта - дата создания файла
    ; 5 байт - признак RAM/ROM-диска (#00 #00 #00 #00 #00/#20 #20 #20 #20 #20)
    ; 2 байта - начальный адрес
    ; 2 байта - конечный адрес
    ; 2 байта - контрольная сумма
    ; ... тело файла
    ; 2 байта - адрес признака заголовка
    Есть 5 байт в заголовке файла, которые используются не рационально, а именно туда записывается или байт #00, или #20. Для чего вот создатели RAMFOS так поступили?

    Я это к чему. Я полтора года не развевал код нового MXDOS версии 4. Некоторые подпрограммы я переписал, некоторые оставил. Я застопорился именно на выводе имён файлов на границе страниц. Писал на ассемблере ASM80WIN под эмуллятором. Несколько раз ставил прошитую ПЗУ на Сябр. Работает. Вот скриншот программы. В нижнем правом углу выходит число целых страниц:остаток памяти на текущей странице. Левая панель сменная (по F3) - ROM-диск/SD карта, левая - только RAM-диск непрерывный со скроллингом вывода имён файлов. F5-копирование (пока только с ROM на RAM-диск), F4-просмотр/редактирование выбранного файла, F6-переименование файла, пробел-выделение файлов, ВК-запуск файла, забой-удаление файла (пока только с RAM-диска).

    Единственное что меня разочаровывает это то что я не смогу на Сябре (пока мой единственный рабочий) посмотреть работу с SD картой. Ты же, SpaceEngineer поддерживаешь считыватель с SD карты по схеме HardWareMan'а работающий на Специалисте МХ2? Я то использую считыватель SD карты по схеме от Vinxru, который распаян на Сябре. Vinxru написал некоторую DOS и я использую её подпрограммы.
    Последний раз редактировалось fifan; 30.01.2022 в 10:01.

  5. #45
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от SpaceEngineer Посмотреть сообщение
    Выравнивание по секторам (256) в структуре ром-диска коммандера, плюс выравнивание по 64 кб страницам.
    Скрипт, создающий образ, тупо перебирает все файлы в папки и пытается всунуть в странице. Из-за этого в некоторых страницах всего по два файла, и под 30 кб пустого места. Такое бывает, если следующий за текущим файл больше оставшегося свободного места.
    Т.е., сортировку ты не осилил? Есть же алгоритмы по оптимальному "забиванию" ёмкости кусками разной величины и с задаваемыми ограничениями.

  6. #46

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

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Мне не нравится что дисков в Коммандере аж 7 (B...H), а не один. Ещё имя файла только заглавными буквами и 6 букв. В остальном хорошая задумка была у Константина Юденцов, жаль что не доделал свой Коммандер.
    Вот я и хочу его доделать.

    Цитата Сообщение от fifan Посмотреть сообщение
    Файлы в RAM-диск пишутся друг за другом с 32-байтным заголовком и самим кодовым кодом. И так все 512 кБайт можно записать. Но не понятен принцип в конце каждых 64 кБайт. Если файл не входит в текущую страницу, то он должен писаться в следующую. А как это об этом сообщается пользователю? Вот формат файла на RAM/ROM дисках:
    Есть 5 байт в заголовке файла, которые используются не рационально, а именно туда записывается или байт #00, или #20. Для чего вот создатели RAMFOS так поступили?
    Это ты про рамфос говоришь. Я же предлагаю избавиться от такого устройства рам-диска и перейти на FAT12. Все 64к банки Сепциалиста можно объединить в один непрерывный диск, я уже знаю как. Неполные секторы в конце 64к страниц (те, что частично перекрываются портами) можно просто пометить как "бэды" при форматировании.

    Цитата Сообщение от fifan Посмотреть сообщение
    Я это к чему. Я полтора года не развевал код нового MXDOS версии 4. Некоторые подпрограммы я переписал, некоторые оставил. Я застопорился именно на выводе имён файлов на границе страниц. Писал на ассемблере ASM80WIN под эмуллятором. Несколько раз ставил прошитую ПЗУ на Сябр. Работает. Вот скриншот программы. В нижнем правом углу выходит число целых страниц:остаток памяти на текущей странице. Левая панель сменная (по F3) - ROM-диск/SD карта, левая - только RAM-диск непрерывный со скроллингом вывода имён файлов. F5-копирование (пока только с ROM на RAM-диск), F4-просмотр/редактирование выбранного файла, F6-переименование файла, пробел-выделение файлов, ВК-запуск файла, F8-удаление файла (пока только с RAM-диска).
    О, там есть исходники MXDOS? Или это другой дос, самописный? Я ещё забыл что ты писал некий SpetsCommander (я не смог его запустить). Это не одно и то же? Дай exe погонять))

    Цитата Сообщение от fifan Посмотреть сообщение
    Единственное что меня разочаровывает это то что я не смогу на Сябре (пока мой единственный рабочий) посмотреть работу с SD картой. Ты же, SpaceEngineer поддерживаешь считыватель с SD карты по схеме HardWareMan'а работающий на Специалисте МХ2? Я то использую считыватель SD карты по схеме от Vinxru, который распаян на Сябре. Vinxru написал некоторую DOS и я использую её подпрограммы.
    Я заложил возможность подключения обоих вариантов контроллера без разрезов и МГТФ. Планирую спаять аппаратный SPI по схеме HWM_PVV. Ещё мне подогнали рабочую ВГ93, надо будет спаять контроллер FDD. Какую схему взять, от Сябра? Помню, ты писал, что в MX2 контроллер не работает из-за неправильной частоты клока. В моём железном Специалисте клок стандартный - 8 МГц.

    - - - Updated - - -

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Т.е., сортировку ты не осилил? Есть же алгоритмы по оптимальному "забиванию" ёмкости кусками разной величины и с задаваемыми ограничениями.
    Да это просто тест. Я уже начал переводить Коммандер Юденцова на FAT16. Будет один непрерывный диск на 2 Мб без костылей с 64к страницами. И рам-диск тоже станет одним непрерывным.

    - - - Updated - - -

    Я кстати перевожу исходники vinxru на мнемоники Z80. Поудобнее они.

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

  8. #47

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SpaceEngineer Посмотреть сообщение
    О, там есть исходники MXDOS? Или это другой дос, самописный? Я ещё забыл что ты писал некий SpetsCommander (я не смог его запустить). Это не одно и то же? Дай exe погонять))
    Исходник MXDOS у меня есть, последняя версия называется RAMFOS 6.4. MXDOS4 - полностью рукописная программа, использует п/п от RAMFOS 6.4, свои тоже есть п/п, например вывод двойной рамки окон. SpetsCommander есть версии для двух различных SD контроллеров. Работает в режиме std и только с SD картой. Я как-то ещё поддерживал Flash-диск под МХ2. Соберу исходники и программы и передам.[/QUOTE]

    Цитата Сообщение от SpaceEngineer Посмотреть сообщение
    надо будет спаять контроллер FDD. Какую схему взять, от Сябра? Помню, ты писал, что в MX2 контроллер не работает из-за неправильной частоты клока. В моём железном Специалисте клок стандартный - 8 МГц.
    В схеме от Сябра я неправильно развёл системный разъём. Есть исправленная схема и печатка - нет времени запускать плату.

    Цитата Сообщение от SpaceEngineer Посмотреть сообщение
    Я кстати перевожу исходники vinxru на мнемоники Z80. Поудобнее они.
    Я тоже так делаю. Но HardWareMan нас не поймёт...

  9. #48

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

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Исходник MXDOS у меня есть, последняя версия называется RAMFOS 6.4. MXDOS4 - полностью рукописная программа, использует п/п от RAMFOS 6.4
    Я правильно понимаю, что:
    MXDOS = RAMFOS 6.4 - это программа Афанасьева?
    MXDOS4 - твоя?

    Цитата Сообщение от fifan Посмотреть сообщение
    например вывод двойной рамки окон.
    Из Коммандера, надеюсь? Там она просто реактивная, потому что линии рисуются графически, а не символами псевдографики.


    Цитата Сообщение от fifan Посмотреть сообщение
    Я тоже так делаю. Но HardWareMan нас не поймёт...
    Приверженец мнемоник i8080?
    Почти сделал, бинарники старые и новые полностью совпадают. Использую SjASMPlus. Этот ассемблер имеет опцию --i8080, которая заставляет его использовать только набор инструкций i8080. Осталась одна проблема: он как-то странно обрабатывает код BLOCK n (который .block n в i8080). Он его обрабатывает как DB 0,n. Т.е. вместо того, чтобы просто присвоить адреса меткам, он в сам бинарник его встраивает как массив нулей. Из-за этого DOS.SYS неправильно собирается: у него в начале кода объявлены 33 байта системных переменных, которые под начинаются с 8FDFh (с помощью BLOCK). А компилятор берёт и встраивает их в бинарник, из-за чего тот начинается с 33 нулей. Может быть, надо использовать не BLOCK, а что-то другое?

    https://z00m128.github.io/sjasmplus/....html#s_macros

  10. #49
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от SpaceEngineer Посмотреть сообщение
    Приверженец мнемоник i8080?
    Приверженец соответствия. Если пишешь для i8080/ВМ80, то будь ласка, пиши в инструкциях для MCS80. Я не против мнемоник Z80, просто оставьте их для Z80, который, кстати, есть в этом вашем Сябре. То же самое и касается i8085.

  11. #50

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SpaceEngineer Посмотреть сообщение
    Я правильно понимаю, что:
    MXDOS = RAMFOS 6.4 - это программа Афанасьева?
    MXDOS4 - твоя?
    MXDOS - это ОС, которая записывается на каждую дискету и переписывается при загрузке дискеты в определённую память. С этого адреса я хочу загружать свою MXDOS, назвал её версии 4.
    RAMFOS - это ОС, которая сидит в ПЗУ и сразу встречает нас приглашением ввода даты. Если дисковод отсутствует, то мы можем выводить на экран только содержимое либо ROM-диска, либо RAM-диска.
    Кстати в приложенном архиве я вставил RAMFOS 6.4 с исходником. Кроме этого выложил свой SpetsBrowser для любого Std Специалиста и для Специалиста МХ2 с поддержкой считывателя SD карты от HardWareMan'а. Есть и файлы для эмулятора emu.

    Цитата Сообщение от SpaceEngineer Посмотреть сообщение
    Из Коммандера, надеюсь? Там она просто реактивная, потому что линии рисуются графически, а не символами псевдографики.
    Самособой, но я сам сделал подпрограмму, исходники Коммандера я не копал. Этим и отличаться будет моя версия от предыдущих версий MXDOS (решил присвоить ей версию 4) от предыдущих. Но в отличие от предыдущих моя пока не поддерживает дисковод, только SD карту (пока только чтение) и RAM/ROM диски.
    Последний раз редактировалось fifan; 30.01.2022 в 10:00.

Страница 5 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Специалист МХ2: реализация в CPLD
    от fifan в разделе Специалист
    Ответов: 241
    Последнее: 15.07.2022, 04:32
  2. Ответов: 135
    Последнее: 02.12.2021, 22:50
  3. Апгрейд ПК-01 -> ПК-02
    от kapitan-u в разделе Львов
    Ответов: 55
    Последнее: 18.07.2020, 06:10
  4. Специалист МХ2. Сборка на плате VER. 2.2
    от vernigor в разделе Специалист
    Ответов: 20
    Последнее: 06.05.2017, 07:51
  5. Апгрейд Amiga 1200
    от easy_john в разделе Amiga
    Ответов: 3
    Последнее: 21.12.2009, 01:02

Ваши права

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