1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Dos и нижняя/верхняя память

Тема в разделе "Hard & Soft", создана пользователем kot-perm, 8 фев 2018.

  1. Gamecollector

    Gamecollector

    Регистрация:
    23 сен 2016
    Сообщения:
    2.410
    К вопросу выше - ключ RAM пытается честно эмулировать физическую память EMS. Что на максимуме требует 64 КиБ памяти в диапазоне C8000-DFFFF. Так что использовать его стоит только если без него вообще никуда.
     
  2. kot-perm

    kot-perm

    Регистрация:
    22 окт 2009
    Сообщения:
    105
    А с каким параметром этот ключ задавать, уже просто интересно...
     
  3. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Ну и я давайте про память напишу.

    Вообще стандартная схема такая
    IMG00033.GIF

    0-640K - Основная (conventional) память

    640K-1024K - верхняя (upper) память ( UMA/UMB )

    1024K-1088K - высокая (high) память ( HMA)

    1088К и выше - extended (XMS)

    и, наконец, отдельно и на отдельной плате - expanded (EMS)

    В PC-DOS XMS это расширенная память, а EMS дополнительная :)

    1.png

    Но везде в общем с точностью наоборот.

    EMS - расширенная Расширенная память — Википедия
    XMS - дополнительная Дополнительная память — Википедия


    Теперь я думаю все станет более понятно. (или нет :D ? )
    Естественно из XMS памяти делают эмуляцию EMS память, так как с ней обычно могут работать старые программы. (Другой вопрос< а есть ли у вас такие ?)

    HIMEM.SYS - управляет расширенной памятью и НМА - памятью . Проблема тут в том, что на 80286 машинах памяти могло быть до 16 мегабайт.
    Такие платы я видел. На моей текущий плате, на текущий момент 8 мегабайт (отдельный вопрос, что с ней делать на 80286 машине)

    Параметр dos = high , как раз и заставляет DOS загружать часть своего ядра в HMA пространство, освободив основную память.
    high,umb - думаю уже понятно из названия.

    Команды devicehigh и loadhigh загружают в umb . Но и тут есть камни. UMB может быть сильно фрагментирован и тут надо смотреть в каком порядки какой драйвер запускать . Некоторые менеджеры QEMM могут собрать из мелких фрагментов единое целое и нормально использовать.

    Такие вещи как DOSMAX и QEMM могли максимально , насколько это возможно загрузить DOS в HMA/UMB

    1.png

    EMM386 - один из менеджер памяти , который может эмулировать ems но при этом требует окно в 64 кб , так как 808x не могли работать с объемом больше 1 мб. Поэтому для доступ к такой памяти пришлось располагать драйвер в conventional или если есть UMA . Как оно там было устроенно, это отдельная тема. EMS память могли использовать ramdrive , smartdrv , вроде бы MSCDEX (надо уточнить) , буфер и по мелочи. На текущий момент, если не использовать что-то очень древние и специфическое, то это окно по большому счету в итоге не нужно.FRAME=NONE

    P.S. Мог где-то что-то напутать, так что поправляйте.
     

    Вложения:

    Последнее редактирование: 9 фев 2018
    Kill_switch и Goblinit нравится это.
  4. kot-perm

    kot-perm

    Регистрация:
    22 окт 2009
    Сообщения:
    105
    Кстати пока не затерялось в обсуждениях - в очередной раз ВСЕМ КТО ОТКЛИКНУЛСЯ СПАСИБО ОГРОМНОЕ - опять допинали до рабочего решения )
    В очередной раз прям уверенность была, что именно тут найду ответы, даже не стал больше нигде смотреть/искать... старая школа - всем здоровья !
    Соведущая Megarace 2 от вас тоже в шоке ) (фото)
     

    Вложения:

    • DSC_3904.JPG
      DSC_3904.JPG
      Размер файла:
      564,1 КБ
      Просмотров:
      613
    • DSC_3905.JPG
      DSC_3905.JPG
      Размер файла:
      516,4 КБ
      Просмотров:
      828
    • DSC_3901.JPG
      DSC_3901.JPG
      Размер файла:
      504,4 КБ
      Просмотров:
      682
    Последнее редактирование: 9 фев 2018
  5. R4kk00n Benched arcade playa

    R4kk00n

    Модератор

    Регистрация:
    28 мар 2005
    Сообщения:
    9.295
    @tuliss, у тебя на диаграмме какое-то сомнительное отношение размеров UMA и HMA
     
  6. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    ?
    HMA всего 64кб (доступно 48) . UMA 384 . Что не так ?
    Или ты про сам размер ? Ну ее в общем не я рисовал, поэтому внизу есть вторая.
     
  7. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    817
    На тему споров PC DOS 7.0 vs MS-DOS 6.22. PC DOS умеет "из коробки" освобождать 628 Кб обычной памяти. С помощью DOSDATA=UMB и COMMAND.COM /H плюс обычные для этого способы.
     
  8. R4kk00n Benched arcade playa

    R4kk00n

    Модератор

    Регистрация:
    28 мар 2005
    Сообщения:
    9.295
    А ещё там, если я правильно помню, EMM386 необязателен (потому что всем управлением памятью занимается HIMEM.SYS) и загружается только для совместимости с некоторым софтом
     
  9. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Все верно. С памятью оно намного лучше обращается чем ms-dos.
    Тот же оптимизатор памяти там работает лучше.
    --- добавлено 9 фев 2018, предыдущее сообщение размещено: 9 фев 2018 ---
    Так я же написал об этом. Emm нужен когда программы умеют или в XMS или в EMS на 80386. (Enables or disables EMM386 expanded-memory support on a computer with an 80386 or higher processor.)
    на 80286 вполне работает himem.sys :) до 16 метров аж.
     
    Последнее редактирование: 9 фев 2018
  10. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    По умолчанию emm386 распределяет память по какой-то своей хитрой схеме, пытается понять, есть у вас модули верхней памяти или нет. Бывает, что ему может показаться, что верхней памяти он не нашёл.
    Как правило это специфика конкретного чипсета, тут я не силён в деталях. Но дело обыкновенное.
    Совсем без ems вы Монстер Баш не запустите, вон вам выше приводили чудесный пример.

    [​IMG]

    Решается, как или как выше показано, или через сторонние менеджеры памяти, которые несколько по-другому распределяют память.
     
  11. kot-perm

    kot-perm

    Регистрация:
    22 окт 2009
    Сообщения:
    105
    Так то тут дома только часть железок, в другом месте прям собранные есть готовые - на раз бы проверить ) - но ближайшие дни не планировал туда, по этому сегодня завтра соберу на 430TX пень166 и проверю.
     
  12. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.286
    @kot-perm, что говорит UMBCHK.EXE?
     
  13. kot-perm

    kot-perm

    Регистрация:
    22 окт 2009
    Сообщения:
    105
    А говорит он вполне очевидное) пока дрова в нижней памяти болтались, два диапазона заняты, остальное свободно, а когда отключаем ems и дрова перебираются выше - сразу все занято)
     

    Вложения:

    • DSC_3909.JPG
      DSC_3909.JPG
      Размер файла:
      476,7 КБ
      Просмотров:
      726
    • DSC_3907.JPG
      DSC_3907.JPG
      Размер файла:
      429,2 КБ
      Просмотров:
      682
  14. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Сделай лучше mem /p /c

    У меня со всем барахлом вон какая картина

    1.png
     
    Goblinit нравится это.
  15. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.286
    @kot-perm, вы неправильно запустили UMBCHK.EXE
     
  16. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Его надо запустить без EMM386, он тогда покажет свободные диапазоны.
    Но если я правильно тебя понял, у тебя это 1 вариант.
     
    Последнее редактирование: 9 фев 2018
  17. kot-perm

    kot-perm

    Регистрация:
    22 окт 2009
    Сообщения:
    105
    Это варианты оба с emm386 но в одном случае ключ NOEMS
    Пока ребёнок занял место - время мультиков, потом без emm386 запущу хотя уже представляю что это даст.
    --- добавлено 9 фев 2018, предыдущее сообщение размещено: 9 фев 2018 ---
    Так яж выше скинул) где три картинки, только ключи наверное правильно наоборот? Я делаю /c/p постранично то в конце указывают обычно)
    Давай продублирую сюда
     

    Вложения:

    • DSC_3904.JPG
      DSC_3904.JPG
      Размер файла:
      564,1 КБ
      Просмотров:
      725
    • DSC_3905.JPG
      DSC_3905.JPG
      Размер файла:
      516,4 КБ
      Просмотров:
      702
  18. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Ну осталось только DOSMAX максимально убрать DOS.
    mouse заменить на ctmouse.
    setver ? - неужели есть у тебя очень старые программы, которые надо обмануть ?
    command.com не помню чем, но вроде в том же dosmax переместить или заменить на 4dos.
    MSCDEX попробовать заменить на shsucd .
    Драйвер cdrom сейчас не подскажу, но тут в общем лучше пробовать.

    Ну и в общем итоге все.

    P.S. Ключи для mem в общем все равно как :)
     
  19. BrainRipper

    BrainRipper

    Регистрация:
    1 ноя 2009
    Сообщения:
    9.286
    Вообще без всего надо запускать.
    --- добавлено 9 фев 2018, предыдущее сообщение размещено: 9 фев 2018 ---
    По содержанию autoexec.bat:
    keyb тоже надо сделать с loadhigh, чтобы ещё освободить обычную память.
     
  20. kot-perm

    kot-perm

    Регистрация:
    22 окт 2009
    Сообщения:
    105
    а цель то какая? Яж освободил почти 600 и Megarace 2 завёлся и остальные... Я конечно заменю и мышовый и сидюк но уже без паники... Не спеша) - растяну удовольствие... Тем более мышовый уже нашёл и 191 и 201 версия есть, говорят 3.5кб держит в резидентах всего. Старые программы.. Да сопсно только игры ведь, для них собираю, иногда разберу одно и тут же собираю другое) как говорится - когда коту делать нечего...
    --- добавлено 9 фев 2018, предыдущее сообщение размещено: 9 фев 2018 ---
    Без всего это как? Himem и емм и doshigh убрать? Остальное то при чем
    Огаа, я кстати вчера то так и сделал) потом вернул когда отключал верхушку.
     
    Последнее редактирование: 9 фев 2018
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление