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. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    817
    @Yuriy_X, в приложениях DOS по идее должна, но вы сами можете проверить с помощью тестов от Фила. Запускаете DOSBENCH.BAT, а там будет список тестов.
     
    Yuriy_X нравится это.
  2. Angel Of Nemesis

    Angel Of Nemesis

    Регистрация:
    4 июл 2019
    Сообщения:
    662
    Возникла задача ограничить 2 гб памяти. Как лучше это сделать? Пока поставил burnmem с огр. в 512 мб. Есть ли ещё какие способы?
     
  3. BolenB

    BolenB

    Регистрация:
    8 июл 2007
    Сообщения:
    351
    Свежий burnmem лежит здесь: Tools/burnmem.zip at master · LordOfMice/Tools
    2-й способ:
    LIMITMEM от Rudolph R. Loew
    LIMITMEM by rloew - LoneCrusader's Windows 9x Projects Page
    3-й способ:
    Взять himem.sys от ms-dos 6.22, у него ограничение в 64 Мегабайта.
     
    fly_indiz, Tigoro и Angel Of Nemesis нравится это.
  4. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.466
    А набросайте, пожалуйста, мне конфиг для запуска SOFTMPU. Что должно быть в config.sys/autoexeс.bat 98 винды при запуске из командной строки дос?
    А то оно мне пишет, что не умещается в памяти.
     
  5. TheMadLynx

    TheMadLynx

    Хелпер

    Регистрация:
    9 июн 2015
    Сообщения:
    6.772
    Вопрос непонятен. После загрузки винды SoftMPU работать не будет, так как это не vxd/wdm-драйвер, а TSR. Если перезагрузиться в режим DOS, то всё работает точно так же, как и в обычном досе - примеры запуска подходят из ридми: SoftMPU
     
    Tigoro нравится это.
  6. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.466
    Не загрузки винды, а доса, т.е. винды с GUI=0 или command prompt only.
    Вопрос именно по этому:

    REQUIREMENTS
    EMM386 4.46+ (MS-DOS 6.2) or QEMM 7.03+

    как должны выглядеть config.sys/autoexeс.bat для запуска этого всего?

    по поводу

    SOFTMPU.EXE /SB:220 /IRQ:5 /MPU:330 в autoexeс.bat

    я еще видел, что пишут "LH SOFTMPU", т.е., я так понял, грузят его в "верхнюю" память
     
  7. kiot

    kiot

    Регистрация:
    11 фев 2007
    Сообщения:
    817
    @radical1010, скопируйте сюда результаты команды MEM /C. Программа занимает всего 8Кб, так что где-то проблема явно.
     
  8. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.466
    Код:
    
    Modules using memory below 1 MB:
    
      Name           Total           Conventional       Upper Memory
      --------  ----------------   ----------------   ----------------
      SYSTEM      18,704   (18K)     10,736   (10K)      7,968    (8K)
      HIMEM        1,168    (1K)      1,168    (1K)          0    (0K)
      EMM386       4,320    (4K)      4,320    (4K)          0    (0K)
      DBLBUFF      2,976    (3K)      2,976    (3K)          0    (0K)
      IFSHLP       2,864    (3K)          0    (0K)      2,864    (3K)
      COMMAND      7,168    (7K)          0    (0K)      7,168    (7K)
      Free       645,200  (630K)    635,984  (621K)      9,216    (9K)
    
    Memory Summary:
    
      Type of Memory       Total         Used          Free
      ----------------  -----------   -----------   -----------
      Conventional          655,360        19,376       635,984
      Upper                  27,216        18,000         9,216
      Reserved                    0             0             0
      Extended (XMS)    1,005,491,6     1,164,720   1,004,326,9
      ----------------  -----------   -----------   -----------
      Total memory      1,006,174,2     1,202,096   1,004,972,1
    
      Total under 1 MB      682,576        37,376       645,200
    
      Largest executable program size         635,968   (621K)
      Largest free upper memory block           8,992     (9K)
      MS-DOS is resident in the high memory area.
    
    
     
  9. TheMadLynx

    TheMadLynx

    Хелпер

    Регистрация:
    9 июн 2015
    Сообщения:
    6.772
    @radical1010, теперь очень хорошо видно, что дос пытаетесь запустить уже после загрузки винды. Естественно, TSR, как и сам EMM386 не будут нормально работать в таких условиях. GUI=0 или command prompt only - это не то же самое, что загрузка чистого доса. В Config.sys для работы softmpu достаточно две строки:
    Код:
    DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
    DEVICE=C:\WINDOWS\EMM386.EXE RAM
    
    Больше там ничего не должно быть. Чистый дос 6.22 после загрузки сразу после установки (без EMM386) должен показывать вот такое в памяти:
    doss16.png

    У виндового 7.1 там не будет SETVER и SMARTDRV.
     
    Последнее редактирование: 20 сен 2023
  10. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.466
    Так мне нужно обязательно ставить 6.22 и виндовым седьмым досом никак не обойтись?
     
  11. TheMadLynx

    TheMadLynx

    Хелпер

    Регистрация:
    9 июн 2015
    Сообщения:
    6.772
    Нет. Нужно настроить ярлык для загрузки режима MS DOS с нужными вам параметрами, а не с теми, что себе сама винда назначает для загрузки по умолчанию. И потом по этому ярлыку перезагружаться в MS DOS хоть с рабочего стола. Вот пример вывода корректного конфига с EMM386 после перезагрузки из Win98SE:
    Screenshot from 2023-09-20 18-38-01.png
     
  12. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.912
    @radical1010, у Фила был наглядный ролик по ручной настройке перехода в DOS-режим:

     
    Tigoro и TheMadLynx нравится это.
  13. MAZterXP

    MAZterXP

    Регистрация:
    4 ноя 2018
    Сообщения:
    731
    Последнее редактирование: 20 окт 2023
  14. fly_indiz

    fly_indiz

    Регистрация:
    30 авг 2010
    Сообщения:
    4
    Неправда.
    Данный вывод mem который предоставил @radical1010 как раз показывает запуск чистого дос, а не под виндами.
    если не придираться к слову "чистого", то BootGUI=0 или выбор в загрузочном меню "command prompt only" - это именно загрузка доса (а не сессия запущенная под виндой).

    если бы это был запуск под виндами - в списке mem ОБЯЗАТЕЛЬНО бы мы увидели vmm32, а тут его нет.

    ну тут у вас нормально запущенный DOS, нижней памяти - вагон, проблем быть не должно...
    ну по вашему MEM в верхнюю может и не залезет, в верхней у вас всего 9к свободно, но ничто не должно мешать загрузиться в обычную нижнюю, которой у вас вполне хватает (621к)

    тут все обсасывают какой должен быть дос/недос (хотя это в данном случае не играет роли - и так видно что запуск не под виндами), а надо думаю увидеть как именно производится запуск и что конкретно за ошибку выдает утилитка при запуске.. - это будет полезнее.
    Также интересно что за звуковуха?
    Если она pnp, то мне кажется что перед запуском softmpu она должна быть проинициализирована например unisound-ом, иначе утилите softmpu просто не с чем будет работать.

    П.С. у меня awe64 и в дос вполне хватает софтварной эмуляции MPU через aweutil - он как минимум не требует emm386 (что для меня - важно), правда требует поддержки NMI со стороны материнки, но с этим проблемы нет.
     
    Последнее редактирование: 30 окт 2023
  15. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.466
    @fly_indiz, это не совсем звуковуха в привычном смысле
    S2P - Serdashop
    Сама по себе эта штука работает, но посредством патча экзэшника игры (я так понимаю, там просто тупо подменяются адреса вывода с MIDI на LPT), а вот SoftMPU я запустить не могу.
     
  16. fly_indiz

    fly_indiz

    Регистрация:
    30 авг 2010
    Сообщения:
    4
    @radical1010, ух, прикольно. LPT-шная мидяха ) интересный зверь.
    я от serda всё думал миди-дочку прикупить, но это надо ещё звуковуху менять, денег много (((
    понял для чего вам softmpu... Только в описании этой железки сказано - что нужна специальная версия SoftMPU для неё (GitHub - pdewacht/softmpu: SoftMPU fork with DreamBlaster S2P support), вы точно правильный качнули? а вот почему не запускается - не очень понятно...
    Можете заскринить какую ошибку выдаёт?
    п.с. и запуск при этом у Вас как я понимаю должен быть другой:
    SOFTMPU.EXE /MPU:330 /OUTPUT:LPT1
    т.е. эмулирует 330 обычный мпу, а выводит через lpt через вашего зверька.
     
    Последнее редактирование: 30 окт 2023
  17. radical1010

    radical1010

    Регистрация:
    3 сен 2018
    Сообщения:
    3.466
    Ну я ее и пытался задействовать, хочу S2P к ноуту прикрутить.
    именно так
    могу, но общий смысл там такой: "не достаточно памяти для запуска MPU" или "программа не умещается в памяти"
     
  18. fly_indiz

    fly_indiz

    Регистрация:
    30 авг 2010
    Сообщения:
    4
    Ну... тогда наши полномочия тут "всё".. 621кб должно хватать за глаза...

    Есть правда мысль. Возможно (не уверен, не щупал, лишь предполагаю) программа хочет сесть именно в UMB и никак иначе (хотя на мой взгляд это бред), а верхней то у вас кастратофически маловато.
    Как вариант - можно под-освободить верхнюю. Например вижу по вашему MEM что львиную долю и так небольшой верхней у вас занимает SYSTEM
    dos лезет в верхнюю память благодаря параметру UMB в config.sys
    DOS=UMB
    попробуйте убрать его. Если там у вас там DOS=HIGH,UMB то убрать только UMB (high оставить).
    это немного освободит верхней памяти, и возможно тогда softmpu загрузится...

    обычно люди занимаются тем что освобождают нижнюю, запихивая наверх все сервисное... а тут возможно придётся сделать наоборот.
    Правда не факт что это предположение верное, но я бы попробовал...

    (вообще хитрое железо ноутов славится тем что свободной для использования верхней памяти UMA маловато)
     
    Последнее редактирование: 30 окт 2023
  19. TheMadLynx

    TheMadLynx

    Хелпер

    Регистрация:
    9 июн 2015
    Сообщения:
    6.772
    "- Зуб даёшь?!" Я же выше даже скрин показал с живой машины.
    При сегодняшнем обилии виртуальных машин и тысяч инструкций по настройке памяти для игр в "виндодосе" (7.1 имеется ввиду) не составляет ни малейшего труда найти скрины, а ещё лучше самому посмотреть, как выглядит выдача mem /c/p после полноценной перезагрузки с ярлыка рабочего стола, у которого в настройках выставлено (перегружаться в режим MS-DOS) по сравнению с тем, что было на скрине radical1010 выше. vmm32 присутствует только если открывать шелл cmd.exe в полностью загруженной винде, а это вообще ни разу даже не сеанс доса, а именно что командная строка.
    Нет, винда 9х грузится, условно, в два этапа: сначала 16-битные костыли готовят дос к загрузке ядра винды, а потом, собственно, происходит его загрузка. Если использовать что-то типа F8 -> "Сommand prompt only", то перехода к загрузке ядра не будет, но костыли от подготовки к его загрузке остаются: DBLBUFF, IFSHLP и, как минимум, ещё некоторое количество переменных среды. Это и есть точное определение не чистого ДОСа.
     
  20. fly_indiz

    fly_indiz

    Регистрация:
    30 авг 2010
    Сообщения:
    4
    Ну я это гляжу непосредственно несколько десятков лет, и с ретро-железом (и не-ретро тоже) имею дело плотно
    и?
    на скрине радикала вполне чистый загруженый дос без следов винды.
    для чистого доса совсем не обязателен такой ярлык в винде.
    скрины гуглить думаю мне не очень нужно, разные ситуации получал и буду получать воочию на живых примерах

    Не совсем верно. Тут вы не столько ошибаетесь, сколько поверхностное описание процесса.
    То что вы называете под "16-битные костыли" - это и грузится вначале именно нормальный DOS 7.1. Процесс запуска почти не отличается от такового от процесса запуска 6.22. тот же io.sys вначале.
    Разве что в 7.1 код который ранее был в msdos.sys перемещен в io.sys, а файл msdos.sys превращен в файл настроек/директив, далее точно такое же выполнение config.sys и autoexec.bat и загрузка оболочки command.com
    Вся разница лишь в том что при директиве BootGUI=1 в конце этого этапа автоматически запускается win.com, загружающий в свою очередь уже ядро vmm32

    тут наполовину согласен но только с термином "костыли", но не согласен с полным пониманием.
    DBLBUFF - драйвер двойной буферизации, помогает избежать проблем при работе с необычными контроллерами (как правило - SCSI). Это вполне себе DOS-овый драйвер.
    IFSHLP - дополнительный драйвер файловой системы, нужный исключительно сугубо запускаемоей впоследствии винде, в чистом дос-е его можно и не загружать.
    Про "остаются": эти драйвера настроены на автоматический запуск (делает io.sys), даже если они не указаны в config.sys. Сделано для корректной последующей загрузке винды, дос-программам они совсем не мешают. Но если берет верх принципиальность, в config.sys можно указать DOS=NOAUTO и тем самым отменить загрузку этих "костылей", и организовать меню, в котором для раздела запуска винды например их подгружать, а для DOS не подгружать за ненадобностью. дос при этом будет такой же нормальный и чистый.
    Мне эти драйверы и в дос не мешают, при моем размере UMB в 128кб можно особо не экономить. Ну то есть конечно экономлю конечно, но не щемлюсь что один драйвер надо выгрузить ради другого )

    Иными словами BootGUI всего лишь определяет - выполнять ли после загрузки нормального доса автозапуск win.com или не выполнять. Больше никакой разницы нет.

    Если копнуть чуть глубже - происходит автозапуск (при bootgui=1) не C:\WINDOWS\win.com, а просто команду
    WIN
    Этим фактом можно довольно мило проманипулировать, создав в корне диска файл win.bat и автозагрузки винды не произойдёт а мы останемся в чистом досе.

    В WinME эту процедуру к сожалению изменили, возможности и простор сильно сузили. Там win.com не запускается после дос-а, а сразу vmm32. И выполнение config.sys/autoexec.bat кастрировали. Да, есть патчи которые в той или иной мере могут вернуть классический процесс запуска, но не без минусов. Поэтому ME я вообще не рассматриваю. Только 98

    Так что нет разницы как мы оказались в досе, будь то загрузка в самом начале без последующего запуска винды, или выход в режим мс-дос из винды, или через ярлык. Все они ведут к тому что мы остаёмся в дос-е, вопрос лишь в удобстве.
    Мне удобнее иметь меню загрузки с полным контролем тех драйверов и TSR, которые я загружаю.
     
    Последнее редактирование: 13 ноя 2023
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление