Важная информация

User Tag List

Страница 1 из 7 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 89

Тема: Потроха CP/M 2.2

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Потроха CP/M 2.2

    В "океанской" CP/M 2.2 Rel.7 таблица DISK PARAMETER TABLE состоит из трех записей DPH (Disk Parameter Header) по числу поддерживаемых устройств A:, B: и C:, и располагается с адреса 0xd90d (ПЗУ):

    XLT - - - DIRBUF DPB CSV ALV
    DPH1 0000 0000 0000 0000 BB3F BB0E BBDE BBBF
    DPH2 0000 0000 0000 0000 BB3F BB1D BC05 BBEE
    DPH3 0000 0000 0000 0000 BB3F BB1D BC2C BC15

    DPB1 начинается с адреса 0xbb0e, DPB2 с адреса 0xbb1d (оба в ОЗУ):


    SPT BSH BLM EXM DSM DRM AL0 AL1 CKS OFF
    DPB1 (A:) 0010 03 07 00 003F 1F00 80 00 0800 0000
    DPB2 (B:,C:) 0024 04 0F 01 00B3 3F00 80 00 1000 0000

    Из DPB1 закономерно вытекает формат квазидиска A: - 16 секторов на дорожку (1 сектор = 128 байт), полная емкость 63Кбайт.
    Формат дисков B: и C: - 36 секторов на дорожку, 179 Кбайт.
    Последний раз редактировалось tnt23; 03.12.2018 в 17:24.

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

  3. #2
    Veteran Аватар для krotan
    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    1,263
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    159 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я вроде как слышал, что логическая структура всех дисков CP/M одинакова сектора по 128 байт не помню сколько их...

  4. #3
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Логический сектор да, 128 байт. С одной стороны, это удобно, потому что одинаково везде. С другой стороны, не всегда хорошо ложится на физический сектор, который на дискете может быть и 512 байт, и вообще 1024 байта. С третьей стороны, начинаются проблемы при поддержке дисков больших размеров.

    В "Океане-240" встроенные в БИОС процедуры переноса блока между основной памятью и квазидиском оперируют размером 128 байт.

    - - - Добавлено - - -

    Полезная по многим причинам ссылка - https://zx-pk.ru/threads/23229-pk800...l=1#post900680

  5. #4
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,179
    Спасибо Благодарностей отдано 
    232
    Спасибо Благодарностей получено 
    264
    Поблагодарили
    191 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насколько я знаю почти ко всем вариантам CP/M в дистрибутиве идёт конфигуратор, который позволяет настраивать данную версию CP/M под конкретный экран и дисководы (например, в Роботроне 1715 вроде было именно так, потому что дисководы могли быть разные, да еще в том числе и внешние).
    Соответственно никто не мешает подредактировать DPB2 под используемые модели дисководов

    >36 секторов на дорожку, 179 Кбайт
    А разве число блоков (DSM+1=180) не надо умножить на размер блока, который для B: и C: по приведенным Вами данным виден как 2k?
    Итого объем диска 180*2=360 килобайт (без вычета под служебку).

    Код:
    BSH and BLM are determined by BLS, the block size or data allocation size
    
        BLS       BSH     BLM           EXM
       -----      ---     ---     DSM<256   DSM>=256
        1024       3       7         0        n/a
        2048       4      15         1         0
        4096       5      31         3         1
        8192       6      63         7         3
       16384       7     127        15         7
    - - - Добавлено - - -

    Мне было всегда интересно как CP/M отличает дисковод 40 дорожек 2 стороны от 80 дорожек одна сторона. Может кто подскажет.
    Последний раз редактировалось dk_spb; 03.12.2018 в 00:16.

  6. #5
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    Насколько я знаю почти ко всем вариантам CP/M в дистрибутиве идёт конфигуратор, который позволяет настраивать данную версию CP/M под конкретный экран и дисководы (например, в Роботроне 1715 вроде было именно так, потому что дисководы могли быть разные, да еще в том числе и внешние).
    Соответственно никто не мешает подредактировать DPB2 под используемые модели дисководов
    Океанические DPB да, хранятся в ОЗУ, но редактировать его придется ручками, так как дистрибутива океанского CP/M в видимой части Вселенной не наблюдается.

    Цитата Сообщение от dk_spb Посмотреть сообщение
    >36 секторов на дорожку, 179 Кбайт
    А разве число блоков (DSM+1=180) не надо умножить на размер блока, который для B: и C: по приведенным Вами данным виден как 2k?
    Итого объем диска 180*2=360 килобайт (без вычета под служебку).
    Очень может статься, что это так. Однако в ПЗУ жестко прошит размер дисковода 180К (как и квазидиска в 64К, но к этому мы еще вернемся).

  7. #6
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,179
    Спасибо Благодарностей отдано 
    232
    Спасибо Благодарностей получено 
    264
    Поблагодарили
    191 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >Очень может статься, что это так.
    36 секторов *128 байт * 40 дорожек=180К для одностороннего дисковода. И 360К для двухстороннего. И мы снова возвращаемся к вопросу как CP/M отличает односторонний дисковод от двухстороннего....
    Ну и в DPB явно прописано 180 блоков по 2К.

  8. #7
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,852
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    171 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    И мы снова возвращаемся к вопросу как CP/M отличает односторонний дисковод от двухстороннего
    BDOS-у CP/M фиолетово, у него своя абстракция: номер диска / номер дорожки / номер сектора (128 байт, всегда). А вот BIOS CP/M должен уже сам решать. У Океана-240, насколько я помню, фиксированная привязка типа дисковода к букве диска. У Корвета (вроде бы) в первом секторе нулевой дорожки в самом начале есть информация о количестве дорожек, секторов, типе сектора (тут полагаемся на юзверя, который не должен совать не те дискеты в дисковод). А во многих реализациях - вообще только один тип поддерживается.

  9. #8
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    b2m, небольшой оффтопик: по-моему, в эмуляторе неправильно отображаются цвета:

    Нажмите на изображение для увеличения. 

Название:	OKEAH240.png 
Просмотров:	211 
Размер:	17.0 Кб 
ID:	67189

  10. #9
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,852
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    171 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    по-моему, в эмуляторе неправильно отображаются цвета
    Предлагаешь красный с зелёным поменять? Я давно предполагал, что красные буквы на чёрном фоне - это как-то нестандартно. Но сравнить не с чем было. Или уже есть фотки с рабочего оригинала?

  11. #10
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,123
    Спасибо Благодарностей отдано 
    803
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    b2m, я думаю речь идет вот об этой ютубе с труъ:
    https://youtu.be/M6C2gXHD-to
    Больше игр нет

Страница 1 из 7 12345 ... ПоследняяПоследняя

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

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

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

Ваши права

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